private void AddNewTower() { Tower towerToAdd = null; if (towerType_listBox.SelectedItem == null) { return; } var selectedTowerType = towerType_listBox.SelectedItem.ToString(); if (selectedTowerType != null && towerManager != null && cell.isGround) { switch (selectedTowerType) { case "ArcherTower": { towerToAdd = (player.Money >= ArcherTower.price) ? new ArcherTower(cell, canvasMap, player) : null; break; } case "CatapultTower": { towerToAdd = (player.Money >= CatapultTower.price) ? new CatapultTower(cell, canvasMap, player) : null; break; } case "TrebuchetTower": { towerToAdd = (player.Money >= TrebuchetTower.price) ? new TrebuchetTower(cell, canvasMap, player) : null; break; } } if (towerToAdd == null) { errorTextBox.Text = "Недостаточно денег для покупки этой башни."; } else { errorTextBox.Text = ""; player.Money -= towerToAdd.Price; towerToAdd.onCount += KillCost_onCount; Application.Current.Dispatcher.Invoke((Action)(() => { towerManager.AddTower(towerToAdd); })); cell.state = 2; } } }
private void AddNewTower() { Tower towerToAdd = null; if (towerType_listBox.SelectedItem == null) { return; } var selectedTowerType = towerType_listBox.SelectedItem.ToString(); if (!string.IsNullOrEmpty(selectedTowerType) && towerManager != null && cell.isGround) { switch (selectedTowerType) { case "ArcherTower": { towerToAdd = new ArcherTower(cell, canvasMap, player); break; } case "CatapultTower": { towerToAdd = new CatapultTower(cell, canvasMap, player); break; } case "TrebuchetTower": { towerToAdd = new TrebuchetTower(cell, canvasMap, player); break; } } if (player.Money < towerToAdd.Price) { errorTextBox.Text = "Недостаточно денег для покупки этой башни."; } else { errorTextBox.Text = ""; towerToAdd.onCount += KillCost_onCount; player.AddMoney(-towerToAdd.Price); towerManager.AddTower(towerToAdd); cell.state = 2; } } }