public UpgradeGeneratrice(Game game, Vector2 position, string locationTexture, Generatrice generatriceSelectionner) : base(game, position, locationTexture) { GeneratriceSelectrionner = generatriceSelectionner; }
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]; } } } } } } }