using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.Graphics; using RhythmBullet.Zer01HD.UI; using RhythmBullet.Zer01HD.Utilities.UI; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; namespace RhythmBullet.Zer01HD.Game { class SplashScreen : Screen { Texture2D recrown; Rectangle rectangleBounds; float proportion = 0.4f; RhythmBulletGame rhythmBullet; float progress; public SplashScreen(RhythmBulletGame rhythmBullet, Rectangle dimensions) { this.recrown = rhythmBullet.Content.Load("RhythmBullet"); this.rhythmBullet = rhythmBullet; rectangleBounds = new Rectangle(0, 0, (int)(dimensions.Height * proportion), (int)(dimensions.Height * proportion)); rectangleBounds.X = (dimensions.Width - rectangleBounds.Width) / 2; rectangleBounds.Y = (dimensions.Height - rectangleBounds.Height) / 2; } public override void Update(GameTime gameTime) { if (progress < 0.8f) { float delta = (float) gameTime.ElapsedGameTime.TotalSeconds; progress += (delta/6f); if (progress > 1f) { progress = 1f; } rhythmBullet.BackgroundColor.R = (byte)(progress * 255); rhythmBullet.BackgroundColor.G = (byte)(progress * 255); rhythmBullet.BackgroundColor.B = (byte)(progress * 255); } base.Update(gameTime); } public override void Draw(SpriteBatch spriteBatch) { spriteBatch.Draw(recrown, rectangleBounds, Color.White); base.Draw(spriteBatch); } } }