示例#1
0
文件: FSM.cs 项目: etn215n/FSM
        /*-------------------------------------------------------------------------*/
        public void AddState(FSMState newState)
        {
            if (newState.ID == StateID.Null)
            {
                Debug.Log("Invalid State.");
                return;
            }
            foreach (FSMState state in stateList)
            {
                if (state.ID == newState.ID)
                {
                    Debug.Log("FSM already contains this state.");
                    return;
                }
            }

            if (stateList.Count == 0)
            {
                currentState = newState;
            }

            stateList.Add(newState);
            newState.SetFSM(this);
            newState.SetCharacter(this.character);
        }