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