//--------------------------------------------------------------------------------------------------------------------------------------------------- // // Copyright (C)2007 DarkWynter Studios. All rights reserved. // //--------------------------------------------------------------------------------------------------------------------------------------------------- // {Contact : darkwynter.com for licensing information //--------------------------------------------------------------------------------------------------------------------------------------------------- namespace DarkWynter.Engine.Menus.GameScreens { #region Using Statements using System; using System.Collections.Generic; 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 DarkWynter.Engine.Menus; using NoName.Statics; using System.Xml; #endregion /// /// Displayed while loading game. /// public class GenericGameScreen : GameScreen { private string backgroundTexturePath; private Vector2 backgroundLocation; private Vector2 backgroundOrigin; private float alpha; private Enums.MenuState menuState; private Enums.EngineState eState; private bool hasSprites; private bool hasMenu; private Texture2D bgTexture; /// /// Loading Screen constructor. /// public GenericGameScreen(XmlNode node) : base(((Enums.MenuState)Enum.Parse(typeof(Enums.MenuState), node.Attributes["EnumMS"].Value))) { this.backgroundTexturePath = node.Attributes["bgTex"].Value; this.backgroundLocation.X = int.Parse(node.Attributes["bgLocationX"].Value); this.backgroundLocation.Y = int.Parse(node.Attributes["bgLocationY"].Value); this.backgroundOrigin.X = int.Parse(node.Attributes["bgOriginX"].Value); this.backgroundOrigin.Y = int.Parse(node.Attributes["bgOriginY"].Value); this.backgroundAlpha = float.Parse(node.Attributes["bgAlpha"].Value); this.menuState = (Enums.MenuState)Enum.Parse(typeof(Enums.MenuState), node.Attributes["EnumMS"].Value); this.eState = (Enums.EngineState)Enum.Parse(typeof(Enums.EngineState), node.Attributes["EnumES"].Value); this.hasSprites = bool.Parse(node.Attributes["hasSprites"].Value); this.hasMenu = bool.Parse(node.Attributes["hasMenu"].Value); SetBackground(NoName.Statics.Globals.content.Load(backgroundTexturePath)); //Instantiate the GameMenu - if no menu, 0,0, else menu if (!hasMenu) { menu = new GameMenu("", 0, 0); } else { // do shit here } if (hasSprites) { // load additional sprites here } } /// /// Draw this menu screen /// /// Sprite Batch public override void Draw(SpriteBatch spriteBatch) { base.Draw(spriteBatch); if (this.eState == Enums.EngineState.GAME_MODE) { NoName.Statics.Globals.engineState = Enums.EngineState.GAME_MODE; } } } }