protected T GetContext <T>(BTWorkingData data) where T : BTActionContext, new() { int oGuid = GetHashCode(); T thisContext = null; if (!data.Contexts.ContainsKey(oGuid)) { thisContext = new T(); data.Contexts.Add(oGuid, thisContext); } else { thisContext = data.Contexts[oGuid] as T; } return(thisContext); }
public override bool IsTrue(BTWorkingData data) { return(GetChild <BTPrecondition>(0).IsTrue(data) || GetChild <BTPrecondition>(1).IsTrue(data)); }
public override bool IsTrue(BTWorkingData data) { return(false); }
public abstract bool IsTrue(BTWorkingData data);
protected virtual void OnTransition(BTWorkingData data) { }
protected virtual bool OnEvaluate(BTWorkingData data) { return(true); }
public void Transition(BTWorkingData data) { OnTransition(data); }
public virtual int OnUpdate(BTWorkingData data) { return(BTStatus.FINISHED); }
public virtual int Update(BTWorkingData data) { return(OnUpdate(data)); }
public bool Evaluate(BTWorkingData data) { return((Precondition == null || Precondition.IsTrue(data)) && OnEvaluate(data)); }