예제 #1
0
 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();
 }
예제 #2
0
        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;
            }
        }