//---------------------------------------------------------------------------------------------------------------------------------------------------
//
// 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();
}
}
}
}
}