Add persist in judge definition.

This commit is contained in:
2023-02-07 16:24:27 +08:00
parent eb53c3465b
commit 4863aa0ae7

View File

@@ -144,7 +144,9 @@ namespace Cryville.Crtr {
if (ev.Definition == _judgePause) _sys.TogglePause();
if (def.scores != null) UpdateScore(def.scores);
if (def.pass != null) Pass(ev, (ft + tt) / 2, def.pass);
actlist.RemoveAt(index);
if (def.persist != null) _etor.Evaluate(_flagop, def.persist);
else _flag = false;
if (!_flag) actlist.RemoveAt(index);
if (def.prop != 0 && actlist.Count > 0) {
index = BinarySearchFirst(actlist, (float)ev.StartClip, def.stack - def.prop);
if (index < 0) index = ~index;
@@ -301,6 +303,7 @@ namespace Cryville.Crtr {
public Clip clip;
public PdtExpression input;
public PdtExpression hit;
public PdtExpression persist;
public Identifier[] pass;
public Identifier[] miss;
public Dictionary<ScoreOperation, PdtExpression> scores;