public void Tick() { Transition transition = currentState?.VerifyTransitions(); if (transition != null) { transition.Fire(); ChangeState(transition.nextState); } else { currentState?.Stay(); } }