Exemple #1
0
    public static FSMWorldState Creat()
    {
        FSMWorldState temp = null;

        if (_states.Count > 0)
        {
            temp = _states.Dequeue();
            temp.Initialize();
        }
        temp = new FSMWorldState();
        temp.Initialize();
        return(temp);
    }
Exemple #2
0
    /// <summary>
    /// 初始化状态机
    /// </summary>
    public void Initialize()
    {
        foreach (FSMBaseAction action in _actionSet.Values)
        {
            action.BuildRelation();
        }
        _currentState = FSMWroldStateFactory.Creat();
        _currentState.Initialize();

        if (_actionSet.ContainsKey(_defaultAction))
        {
            _currentAction = _actionSet[_defaultAction];
            ActiveAction(_currentAction);
        }
        else
        {
            Debug.LogError("No This Action");
        }
    }