Exemple #1
0
        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();
        }
Exemple #2
0
        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();
        }
Exemple #3
0
        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();
        }