/// <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"); world = new World(new Vector2(0f, 9.8f)); mapDisaplayDevice = new XnaDisplayDevice(this.content, ScreenManager.GraphicsDevice); map = content.Load<Map>("Maps\\lvl1"); map.LoadTileSheets(mapDisaplayDevice); collisionLayers = new CollisionLayers(ScreenManager.Game, world, map); gamePlayButtons = new GamePlayButtons(ScreenManager.Game, world); gamePlayButtons.LoadContent(); playerManager = new PlayerManager(ScreenManager.Game, world, map); gameObjects.AddRange(playerManager.players); GameObjectLayersManager xTileGameObjects = new GameObjectLayersManager(ScreenManager.Game, world, map); gameObjects.AddRange(xTileGameObjects.GameObjects); //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(); }