예제 #1
0
    public override void BuildRelation()
    {
        FSMWorldState state = FSMWroldStateFactory.Creat();

        state.SetProperty(E_PropType.Speed, 1);
        _owner.AddRelation(E_ActionTYpe.Idle, E_ActionTYpe.Walk, state, 1);
    }
예제 #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");
        }
    }
예제 #3
0
 /// <summary>
 /// 重置状态机
 /// </summary>
 public void Reset()
 {
     if (_currentAction != null)
     {
         DeactiveAction(_currentAction);
         _currentAction = null;
     }
     if (_actionSet.ContainsKey(_defaultAction))
     {
         _currentAction = _actionSet[_defaultAction];
     }
     if (_currentAction == null)
     {
         Debug.LogError("No this Action");
     }
     _isStop       = false;
     _isTransform  = true;
     _currentState = FSMWroldStateFactory.Creat();
 }