/// <summary> /// Load graphics content for the game. /// </summary> public override void LoadContent() { if (content == null) { content = new ContentManager(ScreenManager.Game.Services, "Content"); } //Add game cam cam = new Camera(ScreenManager.GraphicsDevice.Viewport); ScreenManager.Game.Services.AddService(typeof(Camera), cam); //ScreenManager.DeserializeState(); collisionMananger = new CollisionManager(ScreenManager.Game); // Adds collision manager to Game.Service, This Service unloads when UnloadContent is called. ScreenManager.Game.Services.AddService(typeof(ICollisionService), collisionMananger); spriteBatch = ScreenManager.SpriteBatch; mapDisaplayDevice = new XnaDisplayDevice(this.content, ScreenManager.GraphicsDevice); map = content.Load<Map>(_mapLevelName); map.LoadTileSheets(mapDisaplayDevice); _collisionLayers = new CollisionLayers(ScreenManager.Game, map); _gameObjectLayerManager = new GameObjectLayersManager(ScreenManager.Game, map, cam); gameObjects.AddRange(_gameObjectLayerManager.GameObjects); soundManager = new Sound(ScreenManager.Game); ScreenManager.Game.Services.AddService(typeof(ISound), soundManager); soundManager.LoadContent(); soundManager.PlayMusic("main"); //Adds GUI buttons gamePlayButtons = new GamePlayButtons(ScreenManager.Game); //Add players playerManager = new PlayerManager(ScreenManager.Game, map, gravity); gameObjects.AddRange(playerManager.players); cam.activePlayer = playerManager.currentPlayer; // 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(); foreach (GameObject obj in gameObjects) { if (obj is TargetTile) { cam.center = obj.position; cam.MoveCameraToGameObject(obj, 4.0f, 800.0f); break; } } GC.Collect(); //Requesting garbage collect }
/// <summary> /// Load graphics content for the game. /// </summary> public override void LoadContent() { if (content == null) { content = new ContentManager(ScreenManager.Game.Services, "Content"); } collisionMananger = new CollisionManager(ScreenManager.Game); // Adds collision manager to Game.Service, This Service unloads when UnloadContent is called. ScreenManager.Game.Services.AddService(typeof(ICollisionService), collisionMananger); spriteBatch = ScreenManager.SpriteBatch; gameFont = content.Load<SpriteFont>("gamefont"); //Add game world world = new World(ScreenManager.Game); world.LoadContent(); gameObjects.AddRange(world.tiles); //Add Trigger objects gameObjects.AddRange(world.triggerTile); //Add Destroyable Tile objects foreach (Trigger triggerObj in world.triggerTile) { gameObjects.Add(triggerObj.GetDestroyableTile()); } soundManager = new Sound(ScreenManager.Game); soundManager.LoadContent(); soundManager.PlayMusic("main"); //Adds GUI buttons gamePlayButtons = new GamePlayButtons(ScreenManager.Game); //Add players playerManager = new PlayerManager(ScreenManager.Game, gravity); playerManager.LoadContent(); gameObjects.AddRange(playerManager.players); endPicture = content.Load<Texture2D>("endpicture"); //Add game cam cam = new Camera(ScreenManager.GraphicsDevice.Viewport); cam.activePlayer = playerManager.currentPlayer; // 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(); GC.Collect(); //Requesting garbage collect }