//--------------------------------------------------------------------------------------------------------------------------------------------------- // // Copyright (C)2007 DarkWynter Studios. All rights reserved. // //--------------------------------------------------------------------------------------------------------------------------------------------------- // {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 public enum GameType { LAST_MAN_STANDING, POINT_DEATHMATCH, }; // Game flow is the top of the Multiplayer Game Mode public interface GameFlow { // Accessors - Required by C# Compiler Collision collision { get; set; } Renderer renderer { get; set; } ObjectLibrary objectLibrary { get; set; } // Load Object Library Content Files void LoadGame(GraphicsDeviceManager graphics, ContentManager content); void LoadLevel(GraphicsDeviceManager graphics, ContentManager content); void LoadPlayerDemo(string level ,ContentManager content); void LoadTerrainDemo(string level ,ContentManager content); // Run Everything Based on the Game Mode void Update(float dt); // Update like-object and object-object collision, then update individual physics based on forces applied void UpdateCollision(float dt); // Human controller and AI Logic Updates void UpdateController(float dt); void Draw(GraphicsDevice graphicsDevice, SpriteBatch spriteBatch, List viewportList); // Remove all content related info void UnloadLevel(); // Copy the contents of the objectLibrary out to XML files void SaveGame(); // Kill all the ObjectLibrary Data Structure void UnloadGame(); void SetNumberOfBots(int num); void SetBotIntelligence(int intelligence); void SetGameType(GameType type); void SetMaxKills(int maxKills); } }