public void AddTower() { Tower towerToAdd = null; switch (newTowerType) { case "Arrow Tower": { towerToAdd = new ArrowTower(towerTextures[0], bulletTexture, new Vector2(tileX, tileY), content); break; } case "Spike Tower": { towerToAdd = new SpikeTower(towerTextures[1], bulletTexture, new Vector2(tileX, tileY), content); break; } } if (IsCellClear() == true && towerToAdd.Cost <= money) { towers.Add(towerToAdd); money -= towerToAdd.Cost; newTowerType = string.Empty; } }
public void AddTower() { Tower towerToAdd = null; switch (newTowerType) { case "Arrow Tower": { towerToAdd = new ArrowTower(towerTextures[0],bulletTexture, new Vector2(tileX, tileY),content); break; } case "Spike Tower": { towerToAdd = new SpikeTower(towerTextures[1], bulletTexture, new Vector2(tileX, tileY),content); break; } } if (IsCellClear() == true && towerToAdd.Cost <= money) { towers.Add(towerToAdd); money -= towerToAdd.Cost; newTowerType = string.Empty; } }
public void Update(GameTime gameTime, List <Enemy> enemies) { mouseState = Mouse.GetState(); cellX = (int)(mouseState.X / 32); cellY = (int)(mouseState.Y / 32); tileX = cellX * 32; tileY = cellY * 32; if (mouseState.LeftButton == ButtonState.Released && oldState.LeftButton == ButtonState.Pressed) { if (string.IsNullOrEmpty(newTowerType) == false) { AddTower(); } else { if (selectedTower != null) { if (!selectedTower.Bounds.Contains(mouseState.X, mouseState.Y)) { selectedTower.Selected = false; if (buttonVisible) { buttonVisible = false; } } } foreach (Tower tower in towers) { //if (tower==selectedTower) //{ // continue; //} if (tower.Bounds.Contains(mouseState.X, mouseState.Y)) { selectedTower = tower; tower.Selected = true; if (money >= 10 && tower.UpgradeLevel <= 2) { buttonVisible = true; //upgradeButton = new UpgradeButton(upgradeTexture, new Vector2(64, level.Height * 32-32)); upgradeButton = new UpgradeButton(upgradeTexture, new Vector2(tileX + 5, tileY - 24)); } } } } } foreach (Tower tower in towers) { if (tower.Target == null) { tower.GetClosestEnemy(enemies); } tower.Update(gameTime); } oldState = mouseState; upgradeButton.Update(); if (upgradeButton.Clicked) { upgradeButton.Clicked = false; buttonVisible = false; ArrowTower at = (ArrowTower)selectedTower; at.Upgrade(selectedTower.UpgradeLevel); selectedTower.UpgradeLevel += 1; money -= 10; } }