//--------------------------------------------------------------------------------------------------------------------------------------------------- // // Copyright (C)2007 DarkWynter Studios. All rights reserved. // //--------------------------------------------------------------------------------------------------------------------------------------------------- // {Contact : darkwynter.com for licensing information //--------------------------------------------------------------------------------------------------------------------------------------------------- namespace ElementalGame.GraphicUserInterface { #region Using Statements using System; using System.Collections.Generic; using System.Diagnostics; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Storage; using System.Threading; using System.Xml; #endregion using DarkWynterEngine.Audio; using DarkWynterEngine.Globals; using DarkWynterEngine.ObjectLib; using DarkWynterEngine.Controllers; using DarkWynterEngine.Utilities; using DarkWynterEngine.Menus; /// /// Used to display multiple game modes to user. /// public class GameModeScreen : GameScreen { /// /// Game Mode Screen constructor. /// public GameModeScreen(){} /// /// Check for updates to game mode menu. /// /// Current ObjectLibrary. /// Menu controller used to update input. public override void Update(ObjectLibrary objectLibrary, Controller menuController) { // GAME MODE ------------------------------------ if (menuController.menuInput.IsStartBackInputBlocked) { if (menuController.menuInput.GetMenuStartBackReleased == true) { menuController.SetBlockStartBackInput(false); } } for (int i = 0; i < objectLibrary.humans.Count; i++) { Controller controller = objectLibrary.humans[i].playerController; controller.Update(Enums.AttackType.NONE); if (controller.menuInput.IsStartBackInputBlocked) { if (controller.menuInput.GetMenuStartPressed == false && controller.menuInput.GetMenuBackPressed == false) { if (controller.menuInput.GetMenuStartBackReleased == true) { controller.SetBlockStartBackInput(false); } } } // If in game and user presses back if (controller.menuInput.GetBackPressed) { Controller.StopRumble(objectLibrary); menuController.SetBlockStartBackInput(true); Audio.MenuBack(); Audio.PlayLevelSong("Theme4"); Statics.gameState = Enums.EngineState.GAME_SETUP; Statics.screenSaverTimer.Reset(); Statics.screenSaverTimer.Start(); } else if (controller.menuInput.GetStartPressed && !controller.menuInput.IsStartBackInputBlocked) { Audio.MenuStart(); //Pause the game Statics.gameState = Enums.EngineState.GAME_PAUSE; //Statics.playerThatPaused = i; //menuSystem.GetPauseScreen().SetPlayerOptions(objectLibrary.humans[i]); Statics.screenSaverTimer.Reset(); Statics.screenSaverTimer.Start(); } } } } }