public override void Draw(SpriteBatch spriteBatch) // la camera est celle du premier joueur, risque de bug en multi { CrystalGateGame.graphics.GraphicsDevice.Clear(ClearOptions.Target, Color.Black, 0, 0); spriteBatch.Begin(0, null, null, null, null, null, Outil.GetJoueur(Client.id).camera.CameraMatrix); // DRAW Map Map.Draw(spriteBatch); // DRAW EFFETS foreach (Effet e in Map.effets) { e.Draw(spriteBatch); } // DRAW ITEMS foreach (Item i in Map.items) { spriteBatch.Draw(PackTexture.tresor, i.Position * Map.TailleTiles, Color.White); } // DRAW UNITES foreach (Unite o in Map.unites) { o.Draw(spriteBatch); } // DRAW INTERFACE Outil.GetJoueur(Client.id).Interface.Draw(); // DRAW STRINGS /*spriteBatch.DrawString(gameFont, SceneHandler.level, Vector2.Zero, Color.White);*/ spriteBatch.End(); }
public override void Update(GameTime gameTime) { FondSonore.Update(); // On update les infos de la Map Map.Update(gameTime); // On update les infos des items foreach (Item i in Map.items) { i.Update(Map.unites); } // On update les infos des unites foreach (Unite u in Map.unites) { u.Update(Map.unites, Map.effets); } // On update les infos des joueurs Outil.GetJoueur(Client.id).Update(Map.unites); // On update les effets sur la carte foreach (Effet e in Map.effets) { e.Update(); } // On update les infos des vagues foreach (Wave w in Map.waves) { w.Update(gameTime); } // Update de la physique Map.world.Step(1 / 40f); if (SceneEngine2.BaseScene.keyboardState.IsKeyDown(Keys.Escape) && !SceneEngine2.BaseScene.oldKeyboardState.IsKeyDown(Keys.Escape)) { FondSonore.Pause(); GamePlay.timer.Stop(); SceneHandler.gameState = GameState.Pause; } }