public void ChangeState(GameState next, TransitionPlayer transitionPlayer) { if (next == null) { throw new ArgumentNullException("next"); } this.next = next; // Aloitetaan transition ja hypätään pois. if (transitionPlayer != null) { this.transitionPlayer = transitionPlayer; transitionPlayer.Next = next; transitionPlayer.Current = current; transitionPlayer.Start(); return; } // Swapatana statet suoraan. SwapStates(); }
public void PushState(GameState next, TransitionPlayer tp) { if (next == null) { throw new ArgumentNullException("next"); } this.next = next; if (tp != null) { this.transitionPlayer = tp; transitionPlayer.Next = next; transitionPlayer.Current = current; transitionPlayer.Start(); return; } PushStates(); }
public void PopState(TransitionPlayer player) { // TODO eventit jne if (previous == null) { return; } if (player != null) { transitionPlayer = player; transitionPlayer.Current = current; transitionPlayer.Next = previous; transitionPlayer.Start(); return; } PopStates(); }