Esempio n. 1
0
        protected void UpdateState(TState nextState)
        {
            //Debug.Log($"STATE: {nextState}");
            if (StaticMethods.EnumEquals(currentState, nextState))
            {
                return;
            }

            var existsInNodes = nodes.TryGetValue(nextState, out var nextNode);

            if (!existsInNodes)
            {
                Debug.LogError($"Trying to transition to nonexistent state node: {nextState}");
                return;
            }

            currentNode.Exit(nextState);
            currentNode = nextNode;

            currentNode.Enter(currentState);
            currentState = nextState;
        }
Esempio n. 2
0
 protected virtual void ResetState()
 {
     currentNode = nodes[currentState];
     currentNode.Enter(currentState);
 }