コード例 #1
0
        private void BuildTower(Tile tile)
        {
            if (GameManager.Instance.Player.BuyTower(CurrentHeldTower))
            {
                if (tile.PlacedTower != null)
                {
                    CurrentHeldTower.GiveXP(tile.PlacedTower.Xp);
                    SellTower(tile.PlacedTower);
                }

                BuiltTowers.Add(CurrentHeldTower);

                SetTowerModelTransparency(1.0f);
                ResetTowerModelColor();
                tile.IsEmpty     = false;
                tile.PlacedTower = CurrentHeldTower;

                _currentHeldTowerButton.SetButtonInactive();
                GameManager.Instance.UIManager.BuildPanel.RemoveBuildButton(_currentHeldTowerButton, true);
                _currentHeldTowerButton = null;

                CurrentHeldTower.gameObject.transform.parent = PlacedTowersContainer.transform;
                CurrentHeldTower.IsPlaced = true;
                CurrentHeldTower.Tile     = tile;
                CurrentHeldTower.gameObject.SetActive(true);

                GameManager.Instance.Player.RemoveBuildableTower(CurrentHeldTower);
                IsBuilding = false;
            }
            else
            {
                CancelBuilding();
            }
        }