示例#1
0
	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);
	}
示例#2
0
	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);
	}
示例#3
0
	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);
		}
	}
示例#4
0
		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);
		}
示例#5
0
	public HamPredicate AddPredicate()
	{
		HamPredicate newPredicate = new HamPredicate();
		this.Predicates.Add(newPredicate);
		return newPredicate;
	}