Implement judge_result
contextual variable.
This commit is contained in:
@@ -25,19 +25,27 @@ namespace Cryville.Crtr {
|
||||
readonly Dictionary<Chart.Judge, JudgeState> judges = new Dictionary<Chart.Judge, JudgeState>();
|
||||
readonly Dictionary<int, DynamicJudgeAnchorPair> dynJudgeAnchors = new Dictionary<int, DynamicJudgeAnchorPair>();
|
||||
class JudgeState {
|
||||
static readonly int _var_judge_result = IdentifierManager.SharedInstance.Request("judge_result");
|
||||
public Anchor StaticAnchor { get; private set; }
|
||||
public DynamicJudgeAnchorPair DynamicAnchors { get; private set; }
|
||||
public bool Judged { get; private set; }
|
||||
public float AbsoluteTime { get; private set; }
|
||||
public float RelativeTime { get; private set; }
|
||||
int _result = 0;
|
||||
PropSrc _resultPropSrc;
|
||||
public JudgeState(NoteHandler handler, int name) {
|
||||
StaticAnchor = handler.RegisterAnchor(handler.judge.judgeMap[name]);
|
||||
StaticAnchor = handler.RegisterAnchor(handler.judge.judgeMap[name], true);
|
||||
DynamicAnchors = handler.GetDynamicJudgeAnchorPair(name);
|
||||
}
|
||||
public void MarkJudged(float abs, float rel) {
|
||||
public void MarkJudged(float abs, float rel, int result) {
|
||||
Judged = true;
|
||||
AbsoluteTime = abs;
|
||||
RelativeTime = rel;
|
||||
_result = result;
|
||||
_resultPropSrc.Invalidate();
|
||||
}
|
||||
public void InitPropSrcs() {
|
||||
StaticAnchor.PropSrcs.Add(_var_judge_result, _resultPropSrc = new PropSrc.Identifier(() => _result));
|
||||
}
|
||||
}
|
||||
class DynamicJudgeAnchorPair {
|
||||
@@ -68,6 +76,7 @@ namespace Cryville.Crtr {
|
||||
public override void Init() {
|
||||
base.Init();
|
||||
sgos = gogroup.GetComponentsInChildren<SectionalGameObject>();
|
||||
foreach (var judge in judges.Values) judge.InitPropSrcs();
|
||||
}
|
||||
protected override void PreAwake(ContainerState s) {
|
||||
base.PreAwake(s);
|
||||
|
Reference in New Issue
Block a user