private void ActivateTowerDetails(GameObject tower, bool isTemp) { if (!IsBuilding) { TowerDetails.UpdateTarget(tower.transform.parent.gameObject, isTemp); } }
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(); }