Combine score and score string property sources.

This commit is contained in:
2023-02-10 17:32:59 +08:00
parent 1b1ed42a1b
commit fc8512ff63
2 changed files with 2 additions and 10 deletions

View File

@@ -217,7 +217,6 @@ namespace Cryville.Crtr {
readonly Dictionary<int, ScoreDefinition> scoreDefs = new Dictionary<int, ScoreDefinition>();
readonly Dictionary<int, float> scores = new Dictionary<int, float>();
readonly Dictionary<int, string> scoreStringCache = new Dictionary<int, string>();
readonly Dictionary<int, PropSrc> scoreStringSrcs = new Dictionary<int, PropSrc>();
readonly ArrayPool<byte> scoreStringPool = new ArrayPool<byte>();
readonly Dictionary<int, string> scoreFormatCache = new Dictionary<int, string>();
readonly TargetString scoreFullStr = new TargetString();
@@ -233,21 +232,18 @@ namespace Cryville.Crtr {
scoreDefs.Add(key, s.Value);
scores.Add(key, s.Value.init);
scoreStringCache.Add(scoreStringKeys[key], null);
scoreStringSrcs.Add(scoreStringKeys[key], new ScoreStringSrc(scoreStringPool, () => scores[key], scoreDefs[key].format));
scoreSrcs.Add(scoreStringKeys[key], new ScoreStringSrc(scoreStringPool, () => scores[key], scoreDefs[key].format));
scoreFormatCache[key] = string.Format("{{0:{0}}}", s.Value.format);
}
}
void InvalidateScore(int key) {
scoreSrcs[key].Invalidate();
scoreStringCache[scoreStringKeys[key]] = null;
scoreStringSrcs[scoreStringKeys[key]].Invalidate();
scoreSrcs[scoreStringKeys[key]].Invalidate();
}
public bool TryGetScoreSrc(int key, out PropSrc value) {
return scoreSrcs.TryGetValue(key, out value);
}
public bool TryGetScoreStringSrc(int key, out PropSrc value) {
return scoreStringSrcs.TryGetValue(key, out value);
}
public TargetString GetFullFormattedScoreString() {
bool flag = false;
scoreFullBuf.Clear();

View File

@@ -44,10 +44,6 @@ namespace Cryville.Crtr {
prop.Get(out type, out value);
RevokePotentialConstant();
}
else if (ContextJudge != null && ContextJudge.TryGetScoreStringSrc(name, out prop)) {
prop.Get(out type, out value);
RevokePotentialConstant();
}
else {
PropSrc result = ContextCascadeLookup(name);
if (result != null) {