/// <summary> /// Load graphics content for the game. /// </summary> public override void LoadContent() { if (content == null) { content = new ContentManager(ScreenManager.Game.Services, "Content"); } gameFont = content.Load <SpriteFont>("gamefont"); // A real game would probably have more content than this sample, so // it would take longer to load. We simulate that by delaying for a // while, giving you a chance to admire the beautiful loading screen. #region Locals spriteBatch = new SpriteBatch(ScreenManager.GraphicsDevice); otherTexture = ScreenManager.Game.Content.Load <Texture2D>("vein256"); #endregion Locals #region Camera Manager cameraManager = new CameraManager(ScreenManager.Game); Costam.CameraManager = cameraManager; DebugCamera camera = new Core.DebugCamera(ScreenManager.Game, new Vector3(-15, 0, 0), Vector3.Zero, Vector3.Up); ChaseCamera chaseCamera = new ChaseCamera(ScreenManager.Game); cameraManager.AddCamera("DebugCamera", camera); cameraManager.AddCamera("ChaseCamera", chaseCamera); #endregion CameraManager #region Triggers triggerManager = new TriggerManager(ScreenManager.Game); Costam.TriggerManager = triggerManager; #endregion Triggers #region Tunnel Manager tunnelManager = new TunnelManager(ScreenManager.Game); Costam.TunnelManager = tunnelManager; #endregion TunnelManager #region Memory Managment objectsProvider = new SimpleMemoryPool(); Costam.MemoryPoolObjectProvider = objectsProvider; #endregion Memory Managment #region Player playerManager = new PlayerManager(ScreenManager.Game); Costam.PlayerManager = playerManager; chaseCamera.ChasedObject = Costam.PlayerManager.players.ElementAt(0).Value; #endregion PLayer #region HUD hud = new Hud(ScreenManager.Game, spriteBatch); Costam.HUD = hud; //ScreenManager.Game.Components.Add(hud); SpriteFont consoleFont = ScreenManager.Game.Content.Load <SpriteFont>("HudFont"); DebugTextWindow = new DebugConsole(new Rectangle(10, 10, 100, 50), consoleFont); hud.AddComponent(DebugDrawWindowName, DebugTextWindow); Vector2 windowDimensions = new Vector2(ScreenManager.Game.GraphicsDevice.Viewport.Width, ScreenManager.Game.GraphicsDevice.Viewport.Height); FPSCounter fpsCounter = new FPSCounter(new Rectangle((int)windowDimensions.X - 60, 5, 30, 20), consoleFont); hud.AddComponent("FPS", fpsCounter); if (playerManager.players.Count < 2) { PlayerHUD player1HUD = new PlayerHUD(new Rectangle((int)windowDimensions.X / 2, 0, 30, 20), consoleFont, playerManager.players.ElementAt(0).Value); hud.AddComponent("player1HUD", player1HUD); } else { PlayerHUD player1HUD = new PlayerHUD(new Rectangle(((int)windowDimensions.X / 2) - 70, 0, 30, 20), consoleFont, playerManager.players.ElementAt(0).Value); hud.AddComponent("player1HUD", player1HUD); PlayerHUD player2HUD = new PlayerHUD(new Rectangle((int)windowDimensions.X / 2, 0, 30, 20), consoleFont, playerManager.players.ElementAt(1).Value); hud.AddComponent("player2HUD", player2HUD); } #endregion HUD #region Object Manager objectManager = new ObjectManager(Costam.Game); Costam.ObjectManager = objectManager; #endregion Object Manager #region Colision Manager collisionManager = new CollisionManager(Costam.Game); Costam.ColisionManager = collisionManager; #endregion Colision Manager #region Debug debugDraw = new DebugDraw(); Costam.DebugDraw = debugDraw; Costam.Random = new Random((int)System.DateTime.Now.Ticks); #endregion Debug AfterLoadContent(); // once the load has finished, we use ResetElapsedTime to tell the game's // timing mechanism that we have just finished a very long frame, and that // it should not try to catch up. ScreenManager.Game.ResetElapsedTime(); }