Example #1
0
        public virtual void Update(GameTime gameTime)
        {
            if (phase == Phase.FadingOut)
            {
                var fadeTime = Math.Min(DateTime.Now.TotalMillisecs() - StartFadingOutTime, FadeOutTime);

                if (fadeTime == FadeOutTime)
                {
                    phase = Phase.FadingIn;
                    ActiveScreen.UnloadContent();
                    ActiveScreen   = FadingInScreen;
                    FadingInScreen = null;
                    ActiveScreen.LoadContent();
                }
            }

            if (phase == Phase.FadingIn)
            {
                var fadeTime = Math.Min(DateTime.Now.TotalMillisecs() - StartFadingInTime, FadeInTime);
                if (fadeTime == FadeInTime)
                {
                    ActiveScreen.InputIsLocked = false;
                    phase = Phase.Idle;
                }
            }

            ActiveScreen.Update(gameTime);
        }