コード例 #1
0
ファイル: UNComponent.cs プロジェクト: orlandodeng/un
 // update 当前 行为
 private void UpdateCurBehavior()
 {
     if (m_curBehavior.IsNull())
     {
         return;
     }
     if (m_curBehavior.CanChangeToState(UNBehaviorStateType.Finish))
     {
         m_curBehavior.ChangeToState(UNBehaviorStateType.Finish);
         return;
     }
     m_curBehavior.Update();
 }
コード例 #2
0
ファイル: UNComponent.cs プロジェクト: orlandodeng/un
    // update 等待 行为
    private void UpdateWaitBehavior()
    {
        var        priority = -1;
        UNBehavior behavior = null;

        for (int i = 0; i < m_behaviorsWaitForExecute.Count; ++i)
        {
            if (!m_behaviorsWaitForExecute[i].CanChangeToState(UNBehaviorStateType.Execute))
            {
                continue;
            }
            if (priority < m_behaviorsWaitForExecute[i].m_priority)
            {
                behavior = m_behaviorsWaitForExecute[i];
                priority = m_behaviorsWaitForExecute[i].m_priority;
            }
        }
        m_behaviorsWaitForExecute.Clear();
        if (behavior.IsNull())
        {
            return;
        }
        m_curBehavior = behavior;
        m_curBehavior.ChangeToState(UNBehaviorStateType.Execute);
    }