/// <summary> /// LoadContent will be called once per game and is the place to load /// all of your content. /// </summary> protected override void LoadContent() { // Create a new SpriteBatch, which can be used to draw textures. InputDevice2.Initalize(); HighScoresState.InitalizeHighScores(); //replace this with a join screen later #if XBOX InputDevice2.LockController(InputDevice2.PPG_Player.Player_1, InputDevice2.PlayerPad.GamePad1); #elif WINDOWS InputDevice2.LockController(InputDevice2.PPG_Player.Player_1, InputDevice2.PlayerPad.Keyboard); #endif spriteBatch = new SpriteBatch(GraphicsDevice); AnimationLib al = new AnimationLib(GraphicsDevice, spriteBatch); AnimationLib.cacheAtlasFiles(); //some of these assets are critical to render anything to the screen, and thus are not stored in a seperate thread saveIcon = Content.Load <Texture2D>("gfx/saveIcon"); debugFont = Content.Load <SpriteFont>("testFont"); whitePixel = Content.Load <Texture2D>("whitePixel"); pleaseWaitDialog = Content.Load <Texture2D>("pleaseWait"); asteroidsSpriteSheet = Content.Load <Texture2D>("ppg_asteroids"); for (int i = 0; i < starCount; i++) { stars[i] = new Vector2(rand.Next() % 2000 - 1000, rand.Next() % 2000 - 1000); starRotation[i] = (float)(rand.NextDouble() % (Math.PI * 2)); } new Thread(loadSpine2).Start(); new Thread(loadContent2).Start(); }
protected override void doUpdate(GameTime currentTime) { button_pressed_timer += currentTime.ElapsedGameTime.Milliseconds; fade += currentTime.ElapsedGameTime.Milliseconds; if (screen == titleScreens.menuScreen || screen == titleScreens.playScreen) { fade_duration = max_fade_menu_timer; } else { fade_duration = max_fade_timer; } switch (screen) { case titleScreens.introScreen: if (fade > max_fade_timer) { fade = 0.0f; fade_state = (FadeState)(((int)fade_state + 1) % 3); if (fade_state == FadeState.stay) { fade = 0.0f; screen = titleScreens.menuScreen; } } break; /**************************************************************************************************************************/ case titleScreens.logoScreen: if (fade > fade_duration) { fade = 0.0f; fade_state = (FadeState)(((int)fade_state + 1) % 3); if (fade_state == FadeState.fadeIn) { fade = 0.0f; screen = titleScreens.menuScreen; } else if (fade_state == FadeState.stay) { fade = 0.0f; fade_duration = logo_stay_timer; } else if (fade_state == FadeState.fadeOut) { fade = 0.0f; fade_duration = max_fade_timer; } } break; /**************************************************************************************************************************/ case titleScreens.menuScreen: if (!music_playing) { BackGroundAudio.playSong("Menu", true); music_playing = true; } if (Game1.videoPlayer.State == Microsoft.Xna.Framework.Media.MediaState.Stopped) { Game1.videoPlayer.IsLooped = true; Game1.videoPlayer.Play(Game1.titleScreenVideo); } if (fade > max_fade_menu_timer) { fade = 0.0f; fade_state = FadeState.stay; if (fade_state == FadeState.fadeIn) { fade = 0.0f; screen = titleScreens.menuScreen; } } if (storageDevicePrompted) { if (InputDevice2.IsAnyControllerButtonDown(InputDevice2.PlayerButton.DownDirection) != InputDevice2.PlayerPad.NoPad) { if (!down_pressed) { button_pressed_timer = 0.0f; } down_pressed = true; } if ((down_pressed && !(InputDevice2.IsAnyControllerButtonDown(InputDevice2.PlayerButton.DownDirection) != InputDevice2.PlayerPad.NoPad)) || (down_pressed && (InputDevice2.IsAnyControllerButtonDown(InputDevice2.PlayerButton.DownDirection) != InputDevice2.PlayerPad.NoPad) && button_pressed_timer > max_button_pressed_timer)) { down_pressed = false; button_pressed_timer = 0.0f; menu_item_selected++; AudioLib.playSoundEffect(menuBlipSound); if (menu_item_selected >= menu_list.Count()) { menu_item_selected = menu_item_selected % menu_list.Count(); } else if (menu_item_selected < 0) { menu_item_selected += menu_list.Count(); } } if (InputDevice2.IsAnyControllerButtonDown(InputDevice2.PlayerButton.UpDirection) != InputDevice2.PlayerPad.NoPad) { if (!up_pressed) { button_pressed_timer = 0.0f; } up_pressed = true; } if ((up_pressed && !(InputDevice2.IsAnyControllerButtonDown(InputDevice2.PlayerButton.UpDirection) != InputDevice2.PlayerPad.NoPad)) || (up_pressed && (InputDevice2.IsAnyControllerButtonDown(InputDevice2.PlayerButton.UpDirection) != InputDevice2.PlayerPad.NoPad) && button_pressed_timer > max_button_pressed_timer)) { up_pressed = false; button_pressed_timer = 0.0f; menu_item_selected--; AudioLib.playSoundEffect(menuBlipSound); if (menu_item_selected >= menu_list.Count()) { menu_item_selected = menu_item_selected % menu_list.Count(); } else if (menu_item_selected < 0) { menu_item_selected += menu_list.Count(); } } if (InputDevice2.IsAnyControllerButtonDown(InputDevice2.PlayerButton.Confirm) != InputDevice2.PlayerPad.NoPad) { confirm_pressed = true; whoPressedConfirm = InputDevice2.IsAnyControllerButtonDown(InputDevice2.PlayerButton.Confirm); } else if (confirm_pressed) { confirm_pressed = false; switch (menu_list[menu_item_selected].text) { case "START": screen = titleScreens.playScreen; fade_state = FadeState.fadeOut; fade = 0.0f; break; case "OPTIONS": InputDevice2.LockController(InputDevice2.PPG_Player.Player_1, whoPressedConfirm); screen = titleScreens.optionScreen; fade_state = FadeState.fadeOut; fade = 0.0f; break; case "QUIT": Game1.exitGame = true; break; } } for (int i = 0; i < menu_list.Count(); i++) { if (i == menu_item_selected) { menu_list[menu_item_selected].selected = true; } else { menu_list[i].selected = false; } menu_list[i].update(currentTime); } } else { if (InputDevice2.IsAnyControllerButtonDown(InputDevice2.PlayerButton.Confirm) != InputDevice2.PlayerPad.NoPad) { confirm_pressed = true; whoPressedConfirm = InputDevice2.IsAnyControllerButtonDown(InputDevice2.PlayerButton.Confirm); } else if (confirm_pressed) { confirm_pressed = false; SaveGameModule.selectStorageDevice((PlayerIndex)whoPressedConfirm); SaveGameModule.loadGame(); storageDevicePrompted = true; } } break; /*****************************************************************************************************/ default: if (fade > max_fade_menu_timer) { isComplete = true; BackGroundAudio.stopAllSongs(); Game1.videoPlayer.Stop(); } break; } }