public bool EvaluatePredicate(HamPredicate predicate, VariableValue instanceValue) { if (predicate.VariableID == InvalidID) { Debug.LogError("Predicate variable not set"); return false; } HamTimelineVariable timelineVar = this.Variables[predicate.VariableID]; return timelineVar.Compare(predicate.Comparison, instanceValue); }
private bool EvaluatePredicate(HamPredicate p) { if (!this.variables.ContainsKey(p.VariableID)) { Debug.LogError("No instance value found for variable"); return false; } VariableValue instanceValue = this.variables[p.VariableID]; return this.timeline.EvaluatePredicate(p, instanceValue); }
public override void Unpack(DataUnpacker unpacker) { unpacker.Unpack(out this.DefaultNextID); int size; this.Predicates = new List<HamPredicate>(); unpacker.Unpack(out size); for (int i = 0; i < size; ++i) { HamPredicate predicate = new HamPredicate(); predicate.Unpack(unpacker); this.Predicates.Add(predicate); } }
public void Unpack(DataUnpacker unpacker) { unpacker.Unpack(out this.DecisionText); unpacker.Unpack(out this.IsDialog); int size; unpacker.Unpack(out size); this.Predicates = new List<HamPredicate>(); for (int i = 0; i < size; ++i) { HamPredicate p = new HamPredicate(); p.Unpack(unpacker); this.Predicates.Add(p); } unpacker.Unpack(out this.NextNodeID); }
public HamPredicate AddPredicate() { HamPredicate newPredicate = new HamPredicate(); this.Predicates.Add(newPredicate); return newPredicate; }