public BH_STATUS Tick() { if (m_eStatus != BH_STATUS.BH_RUNNING) { OnInitialize(); } m_eStatus = OnUpdate(); if (m_eStatus != BH_STATUS.BH_RUNNING) { OnTerminate(m_eStatus); } return(m_eStatus); }
public override BH_STATUS OnUpdate() { for (int i = m_CurrentIterator; i < m_behaviors.Count; i++) { Behavior behavior = m_behaviors[i]; m_CurrentIterator = i; BH_STATUS status = behavior.Tick(); if (status != BH_STATUS.BH_SUCCESS) { return(status); } } return(BH_STATUS.BH_FAILURE); }
public override void OnTerminate(BH_STATUS _status) { }
public void Abort() { OnTerminate(BH_STATUS.BH_ABORTED); m_eStatus = BH_STATUS.BH_ABORTED; }
public void Reset() { m_eStatus = BH_STATUS.BH_INVALID; }
public Behavior() { m_eStatus = BH_STATUS.BH_ABORTED; }
public abstract void OnTerminate(BH_STATUS _status);