public void LateUpdate() { if (currState != null) { currState.LateUpdate(); } NextState = null; }
public void ChangeState(CharacterBaseState newState) { if (newState == null) { Debug.LogError("State Not Exist"); return; } NextState = newState; newState.Entity = Entity; if (currState != null) { currState.Exit(); if (lastState != null) { lastState.Dispose(); } lastState = currState; } currState = newState; currState.Enter(); }
public static void DisposeState(eCharacterState type, CharacterBaseState state) { switch (type) { case eCharacterState.None: break; case eCharacterState.Idle: idleStateQueue.Enqueue((CharacterIdleState)state); break; case eCharacterState.Walk: walkStateQueue.Enqueue((CharacterWalkState)state); break; case eCharacterState.Max: break; default: break; } }