Make judge event internal.

This commit is contained in:
2023-05-20 22:36:08 +08:00
parent 906c82972b
commit ca928eb731
3 changed files with 6 additions and 6 deletions

View File

@@ -11,7 +11,7 @@ using System.Text.Formatting;
using UnsafeIL; using UnsafeIL;
namespace Cryville.Crtr { namespace Cryville.Crtr {
public struct JudgeEvent { internal struct JudgeEvent {
public double StartTime { get; set; } public double StartTime { get; set; }
public double EndTime { get; set; } public double EndTime { get; set; }
public double StartClip { get; set; } public double StartClip { get; set; }
@@ -20,7 +20,7 @@ namespace Cryville.Crtr {
public JudgeDefinition Definition { get; set; } public JudgeDefinition Definition { get; set; }
public NoteHandler Handler { get; set; } public NoteHandler Handler { get; set; }
} }
public interface IJudge { internal interface IJudge {
bool Pass(JudgeEvent ev, float time, Identifier[] ids, int depth); bool Pass(JudgeEvent ev, float time, Identifier[] ids, int depth);
void UpdateScore(ScoreOperation op, PdtExpression exp); void UpdateScore(ScoreOperation op, PdtExpression exp);
} }

View File

@@ -20,13 +20,13 @@ namespace Cryville.Crtr {
annotations = a.ToHashSet(); annotations = a.ToHashSet();
} }
public virtual void Optimize(PdtEvaluatorBase etor, PdtExpression value) { etor.Optimize(value); } public virtual void Optimize(PdtEvaluatorBase etor, PdtExpression value) { etor.Optimize(value); }
public abstract bool Execute(IJudge judge, JudgeEvent ev, float time, PdtExpression exp, int depth); internal abstract bool Execute(IJudge judge, JudgeEvent ev, float time, PdtExpression exp, int depth);
public class Pass : JudgeAction { public class Pass : JudgeAction {
readonly Identifier[] _targets; readonly Identifier[] _targets;
public Pass(IEnumerable<string> a, IEnumerable<Identifier> k) : base(a) { public Pass(IEnumerable<string> a, IEnumerable<Identifier> k) : base(a) {
_targets = k.ToArray(); _targets = k.ToArray();
} }
public override bool Execute(IJudge judge, JudgeEvent ev, float time, PdtExpression exp, int depth) { internal override bool Execute(IJudge judge, JudgeEvent ev, float time, PdtExpression exp, int depth) {
return judge.Pass(ev, time, _targets, depth); return judge.Pass(ev, time, _targets, depth);
} }
} }
@@ -42,7 +42,7 @@ namespace Cryville.Crtr {
base.Optimize(etor, value); base.Optimize(etor, value);
if (_op.op != default(Identifier)) PdtExpression.PatchCompound(_op.name.Key, _op.op.Key, value); if (_op.op != default(Identifier)) PdtExpression.PatchCompound(_op.name.Key, _op.op.Key, value);
} }
public override bool Execute(IJudge judge, JudgeEvent ev, float time, PdtExpression exp, int depth) { internal override bool Execute(IJudge judge, JudgeEvent ev, float time, PdtExpression exp, int depth) {
judge.UpdateScore(_op, exp); judge.UpdateScore(_op, exp);
return false; return false;
} }

View File

@@ -150,7 +150,7 @@ namespace Cryville.Crtr {
return gh.GetCurrentFrame(func, track); return gh.GetCurrentFrame(func, track);
} }
public void ReportJudge(JudgeEvent ev, float time, Identifier result) { internal void ReportJudge(JudgeEvent ev, float time, Identifier result) {
JudgeState state; JudgeState state;
if (!judges.TryGetValue(ev.BaseEvent, out state)) return; if (!judges.TryGetValue(ev.BaseEvent, out state)) return;
state.MarkJudged(time, (float)(ev.StartTime - time), result.Key); state.MarkJudged(time, (float)(ev.StartTime - time), result.Key);