Fix potential order inconsistency of pass and score lists.

This commit is contained in:
2023-04-07 13:56:21 +08:00
parent 6cb36a7064
commit 3d8a4a64a9

View File

@@ -1,5 +1,6 @@
using Cryville.Common;
using Cryville.Common.Buffers;
using Cryville.Common.Collections.Generic;
using Cryville.Common.Collections.Specialized;
using Cryville.Common.Pdt;
using System;
@@ -199,7 +200,7 @@ namespace Cryville.Crtr {
actlist.Insert(index, ev);
}
}
void UpdateScore(Dictionary<ScoreOperation, PdtExpression> scoreops) {
void UpdateScore(PairList<ScoreOperation, PdtExpression> scoreops) {
foreach (var scoreop in scoreops) {
var key = scoreop.Key;
_etor.ContextSelfValue = scoreSrcs[key.name.Key];
@@ -300,7 +301,7 @@ namespace Cryville.Crtr {
public class InputDefinition {
public int dim;
public bool notnull;
public Dictionary<Identifier, PdtExpression> pass;
public PairList<Identifier, PdtExpression> pass;
}
public class JudgeDefinition {
public Clip clip;
@@ -309,7 +310,7 @@ namespace Cryville.Crtr {
public PdtExpression persist;
public Identifier[] pass;
public Identifier[] miss;
public Dictionary<ScoreOperation, PdtExpression> scores;
public PairList<ScoreOperation, PdtExpression> scores;
public int stack;
public int prop = 1;
}