diff --git a/Assets/Cryville/Crtr/Judge.cs b/Assets/Cryville/Crtr/Judge.cs index 827a686..76cbe88 100644 --- a/Assets/Cryville/Crtr/Judge.cs +++ b/Assets/Cryville/Crtr/Judge.cs @@ -150,10 +150,12 @@ namespace Cryville.Crtr { var key = scoreop.Key; _etor.ContextSelfValue = scoreSrcs[key.name.Key]; _etor.Evaluate(scoreOps[key.name.Key], scoreop.Value); + scoreSrcs[key.name.Key].Invalidate(); foreach (var s in _rs.scores) { if (s.Value.value != null) { _etor.ContextSelfValue = scoreSrcs[s.Key.Key]; _etor.Evaluate(scoreOps[s.Key.Key], s.Value.value); + scoreSrcs[s.Key.Key].Invalidate(); } } } diff --git a/Assets/Cryville/Crtr/PropSrc.cs b/Assets/Cryville/Crtr/PropSrc.cs index 7c800c2..5ce80d1 100644 --- a/Assets/Cryville/Crtr/PropSrc.cs +++ b/Assets/Cryville/Crtr/PropSrc.cs @@ -6,6 +6,7 @@ namespace Cryville.Crtr { public abstract class PropSrc { int _type; byte[] _buf = null; + public void Invalidate() { _buf = null; } public void Get(out int type, out byte[] value) { if (_buf == null) InternalGet(out _type, out _buf); type = _type;