//---------------------------------------------------------------------------- // {License Information: Creative Commons} //---------------------------------------------------------------------------- namespace ElementalGame { #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 System.Xml; #endregion // This class is set for Phase 2-3 public class EditorMode : GameFlow { /** * This class should pretty much be a copy of Production without fancy physics or shaders. * We want the user to be able to set the stage for his EleMental party. * * * * DEV NOTES: * Hud- * To aid in this, it is recommened that a d-pad controlled airbrush HUD be used. * It should be easy to adjustment to brush pattern and density. * * High Level Edits- * User can operate on bit-maps for high-level terrain object design. * Bitmaps could also be used with different colors for initial particle distribution. * * Low Level Edits- * User should be able to walk around in his world and inspect it by closing the d-pad menu * Some initial loading, like dropping the particles with gravity are acceptable. * Minor changes can then be made with tools like terrainMod and the particle-shooter in 3D * * Save and Reload Interface- * Settings should be saved out into XML file. * XML file should be loaded by the GameFlow Interface's LoadContent() method * * * */ Collision _collision; // Procedural class that handles collision detection between different GameObjects Renderer _renderer = new Renderer(); // Renders the scene once for each viewport ObjectLibrary _objectLibrary; // A scenegraph/collections class, containing all GameObject instantiations XMLFS _currentLevelInfo = new XMLFS(); //Stores the information about the current level loaded // Accessors - Required by C# Compiler public Collision collision { get { return _collision; } set { _collision = value; } } public Renderer renderer { get { return _renderer; } set { renderer = value; } } public ObjectLibrary objectLibrary { get { return _objectLibrary; } set { _objectLibrary = value; } } public XMLFS settings { get { return _currentLevelInfo; } set { _currentLevelInfo = value; } } public void SetNumberOfBots(int num) { //don't set bots... } public EditorMode(int numHumans, int numBots, int numProps) { } public void LoadGame(GraphicsDeviceManager graphics, ContentManager content, bool loadAllConten, string currentLevelXmlFile) { } public void LoadLevel(GraphicsDeviceManager graphics, ContentManager content, bool loadAllContent, string currentLevelXmlFile) { } public void LoadTerrainDemo(string xmlFileName, ContentManager content) { settings.LoadTerrainDemo(xmlFileName, content, _objectLibrary); } public void LoadPlayerDemo(string xmlFileName, ContentManager content) { settings.LoadPlayerDemo(xmlFileName, content, _objectLibrary); } public void Update(float dt) { } public void UpdateCollision(float dt) { } public void UpdateController(float dt) { } public void Draw(GraphicsDevice graphicsDevice, SpriteBatch spriteBatch, List viewportList) { } public void UnloadLevel() { } public void SaveGame() { } public void UnloadGame() { } } }