Example #1
0
        public virtual void Draw(GameTime gameTime, AmSpriteBatch graphics)
        {
            var width  = AmGameBase.Instance.graphics.PreferredBackBufferWidth;
            var height = AmGameBase.Instance.graphics.PreferredBackBufferHeight;

            ActiveScreen.Draw(gameTime, graphics);

            if (phase == Phase.FadingOut)
            {
                var fadeTime = Math.Min(DateTime.Now.TotalMillisecs() - StartFadingOutTime, FadeOutTime);
                var fadePer  = (float)fadeTime / (float)FadeOutTime;
                Console.Out.WriteLine("FadeOut% " + fadePer);

                graphics.FillRectangle(new Rectangle(0, 0, width, height), Color.Black * fadePer);
            }
            else if (phase == Phase.FadingIn)
            {
                var fadeTime = Math.Min(DateTime.Now.TotalMillisecs() - StartFadingInTime, FadeInTime);
                var fadePer  = (float)fadeTime / (float)FadeInTime;
                Console.Out.WriteLine("FadeIn% " + (1.0f - fadePer));

                graphics.FillRectangle(new Rectangle(0, 0, width, height), Color.Black * (1.0f - fadePer));
            }
        }