/// <summary> /// If clicked, creates an object of the ordered Tower /// </summary> protected override void OnButtonClick() { if (affordable) { buildButton.Texture = towerBuild; buildButton.allowBuilding = false; switch (towerType) { case TowerTypes.Single: SingleShotTower newSingleShotTower = new SingleShotTower(singleShotTexture, buildButton.ButtonX, buildButton.ButtonY, player, graphicsDevice); level.AddTower(newSingleShotTower, this); break; case TowerTypes.Double: DoubleShotTower newDoubleShotTower = new DoubleShotTower(doubleShotTexture, buildButton.ButtonX, buildButton.ButtonY, player, graphicsDevice); level.AddTower(newDoubleShotTower, this); break; case TowerTypes.Slow: SlowTower newSlowTower = new SlowTower(slowTexture, buildButton.ButtonX, buildButton.ButtonY, player, graphicsDevice); level.AddTower(newSlowTower, this); break; case TowerTypes.Rocket: RocketLauncherTower newRocketLauncherTower = new RocketLauncherTower(rocketLauncherTexture, buildButton.ButtonX, buildButton.ButtonY, player, graphicsDevice); level.AddTower(newRocketLauncherTower, this); break; } } //change buildButton behaviour to disable building new towers }