Exemplo n.º 1
0
        public void off_on_update()
        {
            var transition = new ScreenTransition()
            {
                State = TransitionState.TransitionOff
            };

            Assert.IsTrue(transition.Update(new GameTime(), true));
        }
Exemplo n.º 2
0
        public void CorrectReturnValue_TransitionOff()
        {
            var transition = new ScreenTransition();

            transition.OnTime  = 0f;
            transition.OffTime = 0f;

            Assert.IsFalse(transition.Update(new GameTime(), false));
        }
Exemplo n.º 3
0
        public void CorrectReturnValue_QuarterTransitionOn()
        {
            var transition = new ScreenTransition();

            transition.OnTime = 1f;
            transition.OnTime = 1f;

            Assert.IsTrue(transition.Update(new GameTime(), true));
        }
Exemplo n.º 4
0
        public void TransitionOn()
        {
            var transition = new ScreenTransition();

            transition.OnTime  = 1f;
            transition.OffTime = 0f;

            transition.Update(new GameTime(), true);
            Assert.AreEqual(1f, transition.TransitionPosition);
        }
Exemplo n.º 5
0
        public void Alpha_TransitionOff()
        {
            var transition = new ScreenTransition();

            transition.OnTime  = 0f;
            transition.OffTime = 0f;

            transition.Update(new GameTime(), false);
            Assert.AreEqual(0f, transition.Alpha);
        }
Exemplo n.º 6
0
        public void QuarterTransitionOn()
        {
            var transition = new ScreenTransition();

            transition.OnTime = 1f;
            transition.OnTime = 1f;

            transition.Update(new GameTime(new TimeSpan(0, 0, 0, 0, 250), new TimeSpan(0, 0, 0, 0, 250)), true);
            Assert.AreEqual(.75f, transition.TransitionPosition);
        }
Exemplo n.º 7
0
        public void Alpha_NoneTransitionOn()
        {
            var transition = new ScreenTransition();

            transition.OnTime  = 1f;
            transition.OffTime = 1f;

            transition.Update(new GameTime(), true);
            Assert.AreEqual(0f, transition.Alpha);
        }
Exemplo n.º 8
0
        public void CorrectReturnValue_QuarterTransitionOff()
        {
            var transition = new ScreenTransition()
            {
                State = TransitionState.Active
            };

            transition.OnTime  = 1f;
            transition.OffTime = 1f;

            Assert.IsTrue(transition.Update(new GameTime(), false));
        }
Exemplo n.º 9
0
        public void Alpha_HalfTransitionOn()
        {
            var transition = new ScreenTransition();

            transition.OnTime = 1f;
            transition.OnTime = 1f;

            transition.Update(new GameTime(new TimeSpan(0, 0, 0, 0, 500), new TimeSpan(0, 0, 0, 0, 500)), true);
            var target = new Color(255, 255, 255, 127);

            Assert.AreEqual(target, transition.AlphaColor(Color.White));
        }
Exemplo n.º 10
0
        public void AlphaColor_NoneTransitionOn()
        {
            var transition = new ScreenTransition();

            transition.OnTime  = 1f;
            transition.OffTime = 1f;

            transition.Update(new GameTime(), true);
            var target = new Color(255, 255, 255, 0);

            Assert.AreEqual(target, transition.AlphaColor(Color.White));
        }
Exemplo n.º 11
0
        public void HalfAlphaColor_TransitionOn()
        {
            var transition = new ScreenTransition();

            transition.OnTime  = 1f;
            transition.OffTime = 0f;

            transition.Update(new GameTime(), true);
            var color  = new Color(255, 255, 255, 127);
            var target = new Color(255, 255, 255, 0);

            Assert.AreEqual(target, transition.AlphaColor(color));
        }
Exemplo n.º 12
0
        public void Alpha_NoneTransitionOff()
        {
            var transition = new ScreenTransition()
            {
                State = TransitionState.Active
            };

            transition.OnTime  = 1f;
            transition.OffTime = 1f;

            transition.Update(new GameTime(), false);
            Assert.AreEqual(1f, transition.Alpha);
        }
Exemplo n.º 13
0
        public void QuarterTransitionOff()
        {
            var transition = new ScreenTransition()
            {
                State = TransitionState.Active
            };

            transition.OnTime  = 1f;
            transition.OffTime = 1f;

            transition.Update(new GameTime(new TimeSpan(0, 0, 0, 0, 250), new TimeSpan(0, 0, 0, 0, 250)), false);
            Assert.AreEqual(.25f, transition.TransitionPosition);
        }
Exemplo n.º 14
0
        public void StateEvent()
        {
            var transition = new ScreenTransition()
            {
                State = TransitionState.Hidden
            };
            bool stateChanged = false;

            transition.OnStateChange += (obj, e) =>
            {
                stateChanged = true;
            };
            transition.Update(new GameTime(), true);
            Assert.IsTrue(stateChanged);
        }
Exemplo n.º 15
0
        public void AlphaColor_NoneTransitionOff()
        {
            var transition = new ScreenTransition()
            {
                State = TransitionState.Active
            };

            transition.OnTime  = 1f;
            transition.OffTime = 1f;

            transition.Update(new GameTime(), false);
            var target = new Color(255, 255, 255, 255);

            Assert.AreEqual(target, transition.AlphaColor(Color.White));
        }
Exemplo n.º 16
0
 public static void UpdateScenes()
 {
     if (NextScreen != null)
     {
         ScreenTransition.Begin(() =>
         {
             Pool.Reset();
             CurrentScreen = NextScreen;
             NextScreen    = null;
             CurrentScreen.Open();
         });
     }
     ScreenTransition.Update();
     CurrentScreen.Update();
 }
Exemplo n.º 17
0
        public void AlphaColor_HalfTransitionOff()
        {
            var transition = new ScreenTransition()
            {
                State = TransitionState.Active
            };

            transition.OnTime  = 1f;
            transition.OffTime = 1f;

            transition.Update(new GameTime(new TimeSpan(0, 0, 0, 0, 500), new TimeSpan(0, 0, 0, 0, 500)), false);
            var color  = new Color(255, 255, 255, 255);
            var target = new Color(255, 255, 255, 127);

            Assert.AreEqual(target, transition.AlphaColor(color));
        }
Exemplo n.º 18
0
        /// <summary>
        /// Update the ScreenManager state.
        /// </summary>
        /// <param name="gameTime">The game time TimeSpan</param>
        public void Update(GameTime gameTime)
        {
            if (currentScreen != null)
            {
                currentScreen.Update(gameTime);
            }

            if (transition != null)
            {
                transition.Update(gameTime);

                if (transition.IsActive && transition.DoChange)
                {
                    SetScreen(transition.NextScreen);
                }
                else if (!transition.IsActive)
                {
                    IsTransitioning = false;
                    transition      = null;
                }
            }
        }
Exemplo n.º 19
0
        /// <summary>
        /// Updates the current screen.
        /// </summary>
        public bool Update(GameTime gameTime)
        {
            if (_executingScreenTransition)
            {
                _currentTransition.Update(gameTime);
                if (_currentTransition.IsFinished)
                {
                    _executingScreenTransition = false;
                }
            }
            else
            {
                if (_activeOverlays.Any())
                {
                    _activeOverlays.Last().OnUpdate(gameTime);
                }
                else
                {
                    CurrentScreen?.OnUpdate(gameTime);
                }
            }

            return(!_quitGame);
        }