public void BuyPlaceTower(TowerTypes type) { if (!towers.ContainsKey(selectedTile) && CurrentPlayer.WithdrawalMoney(TowerFactory.GetTowerCost(type))) { towers.Add(selectedTile, TowerFactory.GetTower(type, new Vector2(selectedTile.X * TileDimensions.X, selectedTile.Y * TileDimensions.Y))); } }
private void CreateButtons(TowerSelectorController towerSelector) { // Tower1 Buttons.Add(new TowerButton( ButtonsOffset + new Vector2(10f, 30f), new Vector2(100f, 80f), TowerFactory.GetTower("Tower1"), new Rectangle(0, 0, 100, 60), 200) { TextPosition = new Vector2(50f, 70f), AttachedObject = "Tower1" }); // Tower2 Buttons.Add(new TowerButton( ButtonsOffset + new Vector2(120f, 30f), new Vector2(100f, 80f), TowerFactory.GetTower("Tower2"), new Rectangle(0, 0, 100, 60), 200) { TextPosition = new Vector2(50f, 70f), AttachedObject = "Tower2" }); foreach (Button button in Buttons) { button.OnClicked += towerSelector.OnTowerButtonClicked; } }
private void StartPlacingTower() { _towers.RemoveAll(t => t.TowerStateEnum == TowerStateEnum.Setup); TowerBase newTower = _towerFactory.GetTower(_time, this, new TowerSettings { Powah = 1, RangePixels = 100, ShootFrequency = TimeSpan.FromSeconds(1), CostBase = 10 }); newTower.Init(); if (_resources.TryTake(newTower.Settings.CostBase)) { _towers.Add(newTower); } }
private void StartPlacingTower() { _towerBeingPlaced = null; TowerBase newTower = _towerFactory.GetTower(_time, this, new TowerSettings { Powah = 1, RangePixels = 100, ShootFrequency = TimeSpan.FromSeconds(1), CostBase = 10 }, _graphicsTracker); newTower.Init(); if (_resources.DoesAfford(newTower.Settings.CostBase)) { // Add the tower (has "Setup" state). _towerBeingPlaced = newTower; } }
public void OnTowerButtonClicked(object obj, EventArgs args) { string towerName = ((Button)obj).AttachedObject as string; towerPlacer.TargetTower = TowerFactory.GetTower(towerName); }