//--------------------------------------------------------------------------------------------------------------------------------------------------- // // Copyright (C)2007 DarkWynter Studios. All rights reserved. // //--------------------------------------------------------------------------------------------------------------------------------------------------- // {Contact : darkwynter.com for licensing information //--------------------------------------------------------------------------------------------------------------------------------------------------- namespace DarkWynter.Engine.EventControl.EventTypes { using System; using System.Collections.Generic; using System.Diagnostics; using DarkWynter.Engine.Init; using DarkWynter.Engine.Utilities; using DarkWynter.Engine.Globals; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using System.Text; using System.Xml; /// /// Instance of the LevelChangeEvent /// Extends GameEvent /// Used to signal that a change in the level is needed /// public class LevelChangeEvent : GameEvent { public int nextLevel { get { return _nextLevel; } set { _nextLevel = value; } } public int _nextLevel; public LevelChangeEvent(XmlNode node) :base(node) { if (node.Attributes["nextLevel"] != null) { this.nextLevel = int.Parse(node.Attributes["nextLevel"].Value); } else { this.nextLevel = 0; } } /// /// Changes the level the game is on /// public override void FireEvent() { //if (MajikWand.activeRequestCount == 0) //{ Statics_Engine.levelIndex = this.nextLevel; Statics_Engine.GameSettings.LoadLevel = true; if (Statics_Engine.levelIndex != -1) { Statics_Engine.SystemSettings.gameState = Enums_Engine.EngineState.INSTRUCTION_SCREEN; } else if (Statics_Engine.levelIndex == -1) { DarkWynterEngine.launchPostTest = true; Statics_Engine.levelIndex = 0; Statics_Engine.SystemSettings.gameState = Enums_Engine.EngineState.FINALIZE_G2LSTUFF; } this.isFinished = true; //} } } }