Exemplo n.º 1
0
 private void ActivateTowerDetails(GameObject tower, bool isTemp)
 {
     if (!IsBuilding)
     {
         TowerDetails.UpdateTarget(tower.transform.parent.gameObject, isTemp);
     }
 }
Exemplo n.º 2
0
        private void Update()
        {
            foreach (var keyCode in _towers.Keys.Where(Input.GetKeyDown))
            {
                OnKeyDown(keyCode);
            }

            if (_placeholder != null)
            {
                if (Input.GetMouseButtonDown(0))
                {
                    if (IsValid() && GameState.Instance.HasPath(_placeholder.transform.position))
                    {
                        CurrentNameText.text          = _name = null;
                        GameState.Instance.IsBuilding = false;
                        GameState.Instance.UpdateGold(-_cost);
                        GameState.Instance.UpdateCost(null);
                        TowerDetails.UpdateTarget(null, false);

                        var tower = Instantiate(_tower, _placeholder.transform.position, Quaternion.identity);
                        GameState.Instance.RegisterTower(tower);
                        Destroy(_placeholder);
                    }
                }

                _placeholder.transform.position = GetMousePosition();
                _spriteRenderer.color           = IsValid() ? Colors.Instance.Green : Colors.Instance.Red;
            }

            UpdateBuildMenu();
        }