Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
 public override void OnTerminate(BH_STATUS _status)
 {
 }
Пример #4
0
 public void Abort()
 {
     OnTerminate(BH_STATUS.BH_ABORTED);
     m_eStatus = BH_STATUS.BH_ABORTED;
 }
Пример #5
0
 public void Reset()
 {
     m_eStatus = BH_STATUS.BH_INVALID;
 }
Пример #6
0
 public Behavior()
 {
     m_eStatus = BH_STATUS.BH_ABORTED;
 }
Пример #7
0
 public abstract void OnTerminate(BH_STATUS _status);