Fix error handling in PDT evaluator.
This commit is contained in:
@@ -189,13 +189,15 @@ namespace Cryville.Crtr {
|
||||
SkinVariable v;
|
||||
if (!vars.TryGetValue(Name, out v))
|
||||
vars.Add(Name, v = new SkinVariable());
|
||||
ChartPlayer.etor.Evaluate(v.Op, exp);
|
||||
if (!ChartPlayer.etor.Evaluate(v.Op, exp))
|
||||
throw new EvaluationFailureException();
|
||||
}
|
||||
public override void ExecuteDynamic(ISkinnableGroup group, RuntimeSkinContext ctx, PdtExpression exp, IntKeyedDictionary<SkinVariable> vars, int dl) {
|
||||
SkinVariable v;
|
||||
if (!vars.TryGetValue(Name, out v))
|
||||
throw new InvalidOperationException(string.Format("Variable \"{0}\" not defined", IdentifierManager.SharedInstance.Retrieve(Name)));
|
||||
ChartPlayer.etor.Evaluate(v.Op, exp);
|
||||
if (!ChartPlayer.etor.Evaluate(v.Op, exp))
|
||||
throw new EvaluationFailureException();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user