示例#1
0
        public void AddFsmTranslation(string _from, string _to, StateTransHandler _handler)
        {
            if (AllFsmStates.ContainsKey(_from) == false)
            {
                Debug.LogError("This StateMachine Don't Contain State " + _from);
                return;
            }
            if (AllFsmStates.ContainsKey(_to) == false)
            {
                Debug.LogError("This StateMachine Don't Contain State " + _to);
                return;
            }

            AddFsmTranslation(AllFsmStates[_from], AllFsmStates[_to], _handler);
        }
示例#2
0
        public FsmTranslation(IFSMState _from, IFSMState _to, StateTransHandler _handler = null)
        {
            if (_to.StateName == _from.StateName)
            {
                Debug.LogError("FSMTranslation _from Can't Be The Same With _to");
                return;
            }

            StateFrom = _from;
            StateTo   = _to;
            Handler   = _handler;

#if UNITY_EDITOR
            _Show_StateFrom = StateFrom;
            _Show_StateTo   = StateTo;
#endif
        }
示例#3
0
        public void AddStateTranslation(IFSMState _to, StateTransHandler _handler)
        {
            if (AllStateTranslations.ContainsKey(_to.StateName))
            {
                Debug.LogError("ReRegister..");
                return;
            }
            if (_to == this)
            {
                Debug.LogError("ReRegister   Self..");
                return;
            }
            AllStateTranslations.Add(_to.StateName, new FsmTranslation(this, _to, _handler));

#if UNITY_EDITOR
            ShowAllTrans.Add(_to.StateName);
#endif
        }
示例#4
0
        public void AddFsmTranslation(FsmState _from, FsmState _to, StateTransHandler _handler)
        {
            FsmTranslation _translation = new FsmTranslation(_from, _to, _handler);

            AddFsmTranslation(_translation);
        }