private void GérerPlacement()
 {
     if (GestionInput.EstNouveauClicGauche())
     {
         Vector3 positionSouris   = TrouverPositionSouris(GestionInput.GetPositionSouris());
         Vector3 vecteurDelta     = new Vector3(Grid.DeltaDiviséParDeux, 0, Grid.DeltaDiviséParDeux);
         Vector3 positionDansGrid = new Vector3((float)Math.Floor(positionSouris.X / Grid.Delta.X), 0, (float)Math.Floor(positionSouris.Z / Grid.Delta.Y));
         Vector3 positionBuilding = new Vector3((positionDansGrid.X * Grid.Delta.X) + vecteurDelta.X, (positionDansGrid.Y * Grid.Delta.Y) + vecteurDelta.Y, (positionDansGrid.Z * Grid.Delta.Y) + vecteurDelta.Z);
         if (Grid.TableauGrid[(int)positionDansGrid.X, (int)positionDansGrid.Z])
         {
             if (TypeBuilding == 3)
             {
                 if (JoueurPrésent.NombreDeBois >= TableauDesPrix[0, 0] && JoueurPrésent.NombreDOR >= TableauDesPrix[0, 1] && NombreWall < 1)
                 {
                     Mur buildingMur = new Mur(Game, "wall", 0.02f, positionBuilding, Vector3.Zero);
                     Game.Components.Add(buildingMur);
                     Grid.TableauGrid[(int)positionDansGrid.X, (int)positionDansGrid.Z]         = false;
                     Grid.GridCase[(int)positionDansGrid.X, (int)positionDansGrid.Z].Accessible = false;
                     JoueurPrésent.NombreDeBois -= TableauDesPrix[0, 0];
                     JoueurPrésent.NombreDOR    -= TableauDesPrix[0, 1];
                 }
             }
             else
             {
                 if (TypeBuilding == 2)
                 {
                     if (JoueurPrésent.NombreDeBois >= TableauDesPrix[1, 0] && JoueurPrésent.NombreDOR >= TableauDesPrix[1, 1])
                     {
                         Generatrice buildingGeneratrice = new Generatrice(Game, "generator", 0.02f, positionBuilding, Vector3.Zero);
                         Game.Components.Add(buildingGeneratrice);
                         Grid.TableauGrid[(int)positionDansGrid.X, (int)positionDansGrid.Z]         = false;
                         Grid.GridCase[(int)positionDansGrid.X, (int)positionDansGrid.Z].Accessible = false;
                         JoueurPrésent.NombreDeBois -= TableauDesPrix[1, 0];
                         JoueurPrésent.NombreDOR    -= TableauDesPrix[1, 1];
                     }
                 }
                 else
                 {
                     if (TypeBuilding == 1)
                     {
                         if (JoueurPrésent.NombreDeBois >= TableauDesPrix[2, 0] && JoueurPrésent.NombreDOR >= TableauDesPrix[2, 1])
                         {
                             Reparateur buildingReparateur = new Reparateur(Game, "reparator", 0.02f, positionBuilding, Vector3.Zero);
                             Game.Components.Add(buildingReparateur);
                             Grid.TableauGrid[(int)positionDansGrid.X, (int)positionDansGrid.Z]         = false;
                             Grid.GridCase[(int)positionDansGrid.X, (int)positionDansGrid.Z].Accessible = false;
                             JoueurPrésent.NombreDeBois -= TableauDesPrix[2, 0];
                             JoueurPrésent.NombreDOR    -= TableauDesPrix[2, 1];
                         }
                     }
                     else
                     {
                         if (JoueurPrésent.NombreDeBois >= TableauDesPrix[3, 0] && JoueurPrésent.NombreDOR >= TableauDesPrix[3, 1])
                         {
                             Turret buildingTurret = new Turret(Game, "turret", 0.075f, positionBuilding, Vector3.Zero);
                             Game.Components.Add(buildingTurret);
                             Grid.TableauGrid[(int)positionDansGrid.X, (int)positionDansGrid.Z]         = false;
                             Grid.GridCase[(int)positionDansGrid.X, (int)positionDansGrid.Z].Accessible = false;
                             JoueurPrésent.NombreDeBois -= TableauDesPrix[3, 0];
                             JoueurPrésent.NombreDOR    -= TableauDesPrix[3, 1];
                         }
                     }
                 }
             }
         }
     }
 }
Ejemplo n.º 2
0
 public UpgradeReparateur(Game game, Vector2 position, string locationTexture, Reparateur reparateurSelectionner)
     : base(game, position, locationTexture)
 {
     ReparateurSelectionner = reparateurSelectionner;
 }