Ejemplo n.º 1
0
        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;
                }
            }
        }
Ejemplo n.º 2
0
        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;
                }
            }
        }