public SplashScreenState(ContentManager newManager) { contentManager = newManager; IsUpdateable = true; calledLoadAssets = false; flashOffText = false; startButtonDown = false; state = SplashScreenVisualState.Loading; fadeState = FadeState.FadeIn; fadeTimer = 0; gameInput = new GameInput(Game1.graphics.GraphicsDevice); }
protected override void doUpdate(GameTime currentTime) { gameInput.update(); if (state == SplashScreenVisualState.Loading) { if (!Game1.AssetsLoaded) { if (!calledLoadAssets) { new Thread(Game1.loadGameAssets).Start(); calledLoadAssets = true; } flashOffText = currentTime.TotalGameTime.Milliseconds % 500 < 250; } else { //GameScreenManager.switchScreens(GameScreenManager.GameScreenType.Menu, "TitleScreenMenu"); state = SplashScreenVisualState.FrostTreeLogo; } } else if (state == SplashScreenVisualState.FrostTreeLogo) { if (GameInput.isButtonDown(GameInput.PlayerButton.StartButton) && !startButtonDown) { startButtonDown = true; } else if (startButtonDown && !GameInput.isButtonDown(GameInput.PlayerButton.StartButton)) { startButtonDown = false; GameScreenManager.switchScreens(GameScreenManager.GameScreenType.Menu, "TitleScreenMenu"); } fadeTimer += currentTime.ElapsedGameTime.Milliseconds; if (fadeTimer > fadeDuration) { fadeState = (FadeState)((((int)fadeState) + 1) % 3); fadeTimer = 0; if (fadeState == FadeState.FadeIn) { state = SplashScreenVisualState.SaveNote; } } } else if (state == SplashScreenVisualState.SaveNote) { if (GameInput.isButtonDown(GameInput.PlayerButton.StartButton) && !startButtonDown) { startButtonDown = true; } else if (startButtonDown && !GameInput.isButtonDown(GameInput.PlayerButton.StartButton)) { startButtonDown = false; GameScreenManager.switchScreens(GameScreenManager.GameScreenType.Menu, "TitleScreenMenu"); } fadeTimer += currentTime.ElapsedGameTime.Milliseconds; if (fadeTimer > fadeDuration + (fadeState == FadeState.Stay ? 750 : 0)) { fadeState = (FadeState)((((int)fadeState) + 1) % 3); fadeTimer = 0; if (fadeState == FadeState.FadeIn) { GameScreenManager.switchScreens(GameScreenManager.GameScreenType.Menu, "TitleScreenMenu"); } } } }