private void OnMouseDown()
 {
     if (defenderToSpawn && levelManager.bHasEnoughStars(defenderToSpawn.GetCost()))
     {
         SpawnDefender(GetClickToWorldPos());
     }
 }
Example #2
0
    private void SpawnDefender(Vector2 defenderPosition)
    {
        Defender newDefender = Instantiate(defender, defenderPosition, Quaternion.identity) as Defender;

        newDefender.transform.parent = defenderParent.transform;
        resourcePool.SpendResources(defender.GetCost());
    }
 private void SpwanDefender(Vector2 position)
 {
     position.x = Mathf.RoundToInt(position.x);
     position.y = Mathf.RoundToInt(position.y);
     if (goldResource.GetGold() >= defenderPrefab.GetCost())
     {
         goldResource.SpendGold(defenderPrefab.GetCost());
         Instantiate(defenderPrefab, position, Quaternion.identity);
     }
 }
Example #4
0
    private void RevealImage()
    {
        SpriteRenderer renderer = GetComponent <SpriteRenderer>();

        renderer.color = Color.white;
        CostDisplay costDisplay = FindObjectOfType <CostDisplay>();

        costDisplay.SetCost(defenderPrefab.GetCost());
        costDisplay.RevealPrice();
    }
Example #5
0
    private void AttempToPlayDefender(Vector2 postionToSpawn)
    {
        StarTracker starTracker = FindObjectOfType <StarTracker>();

        if (!HasADefenderAlready(postionToSpawn) && defender.GetCost() <= starTracker.GetStarCount())
        {
            SpawnDefender(postionToSpawn);
            starTracker.DeductStars(defender.GetCost());
        }
        else
        {
            starTracker.InsufficientStartAlert();
        }
    }
Example #6
0
    private void SpawnDefender(Vector2 position)
    {
        if (!_defender)
        {
            return;
        }

        if (_starDisplay.HaveEnoughStarsToBuild(_defender.GetCost()))
        {
            var defender = Instantiate(_defender, position, Quaternion.identity);
            defender.transform.parent = _defendersParent.transform;
            _starDisplay.SpendStar(_defender.GetCost());
        }
    }
Example #7
0
    private void OnMouseDown()
    {
        if (!defenderPrefab)
        {
            return;
        }



        if (starDisplay.isEnough(defenderPrefab.GetCost()))
        {
            starDisplay.SpendStars(defenderPrefab.GetCost());

            InstantiateDefender(getPositionForDefender());
        }
    }
Example #8
0
 private void DisplayCost()
 {
     cost          = defenderCost.GetCost();
     costDisplay   = GetComponent <CostDisplay>();
     textCost      = costDisplay.GetComponentInChildren <Text>();
     textCost.text = cost.ToString();
 }
Example #9
0
 private void AttempToPlaceDefender()
 {
     if (!outOfBounds)
     {
         DefenderSpawner dsp         = FindObjectOfType <DefenderSpawner>();
         var             CoinDisplay = FindObjectOfType <CoinDisplay>();
         if (sellButton)
         {
             Defender placedDefender = dsp.getDefender(currentSpawnPos);
             if (placedDefender)
             {
                 int defenderCost = placedDefender.GetCost();
                 CoinDisplay.Addcoins((int)(defenderCost * dsp.getSellFactor()));
                 Destroy(placedDefender.gameObject);
             }
         }
         else
         {
             int defenderCost = defenderPrefab.GetCost();
             if (CoinDisplay.Spendcoins(defenderCost))
             {
                 Spawn();
             }
         }
     }
 }
    private void LabelButtonWithCost()
    {
        Text costText = GetComponentInChildren <Text>();

        if (costText)
        {
            costText.text = defenderPrefab.GetCost().ToString();
        }
    }
Example #11
0
    private void AttemptToPlaceDefender(Vector2 coordinates)
    {
        var defenderCost = defender.GetCost();

        if (resourceDisplay.haveEnoughResources(defenderCost))
        {
            SpawnDefender(coordinates);
            resourceDisplay.SpendResources(defenderCost);
        }
    }
Example #12
0
    private void LabelButtonWithCost()
    {
        Text costText = GetComponentInChildren <Text>();

        if (!costText)
        {
            Debug.LogError(name + " has no cost text, add some!");
        }
        costText.text = defenderPrefab.GetCost().ToString();
    }
Example #13
0
    private void CreateCostLabel()
    {
        Text costText = GetComponentInChildren <Text>();

        if (!costText)
        {
            return;
        }
        costText.text = defenderPrefab.GetCost().ToString();
    }
Example #14
0
    private void AttemptToPlaceSelectedDefender(Vector2 pos)
    {
        var defenderCost = defenderPrefab.GetCost();

        if (resourseDisplay.GetGold() >= defenderCost)
        {
            SpawnDefender(pos);
            resourseDisplay.SpendGold(defenderCost);
        }
    }
Example #15
0
    private void AttemptToPlaceDefenderAt(Vector2 pos)
    {
        var coinsDisplay = FindObjectOfType <CoinsDisplay>();
        int defenderCost = defender.GetCost();

        if (coinsDisplay.HaveEnoughCoins(defenderCost))
        {
            SpawnDefender(pos);
            coinsDisplay.RemoveCoins(defenderCost);
        }
    }
Example #16
0
    private void AttemptToPlace()
    {
        int cost = defender.GetCost();

        if (moneyDisplay.HasMoney(cost))
        {
            SpawnDefender(SnapToGrid(GetSquaredPos()));
            moneyDisplay.SpendMoney(cost);
            placeHighlight.SetActive(false);
        }
    }
Example #17
0
 private void UnitToolTip()
 {
     if (!unitCostText)
     {
         Debug.LogError(name + " has no cost text!");
     }
     else
     {
         unitCostText.text = defenderPrefab.GetCost().ToString();
     }
 }
Example #18
0
    private void SetButtonCost()
    {
        int cost = defender.GetCost();

        costText = GetComponentInChildren <Text>();
        if (!costText)
        {
            Debug.Log(costText.name);
        }
        this.costText.text = cost.ToString();
    }
Example #19
0
    private void AttemptToPlaceDefenderAt(Vector2 gridpos)
    {
        var GoldDisplay  = FindObjectOfType <GoldDisplay>();
        int defenderCost = defender.GetCost();

        if (GoldDisplay.HaveEnoughGold(defenderCost))
        {
            SpawnDefender(gridpos);
            GoldDisplay.SpendGold(defenderCost);
        }
    }
    private void SpawnDefender(Vector2 worldPos)
    {
        var defenders = FindObjectsOfType <Defender>();

        starDisplay = FindObjectOfType <StarDisplay>();
        if (defender)
        {
            if (starDisplay.GetStars() >= defender.GetCost())
            {
                foreach (var item in defenders)
                {
                    Vector2 pos = new Vector2(item.transform.position.x, item.transform.position.y);
                    if (pos == worldPos)
                    {
                        return;
                    }
                }
                PlaceDefender(worldPos);
            }
        }
    }
Example #21
0
    // Attempts to select a defender prefab to be spawned on click, and it's button to deselect it
    // Returns true if it was successfully selected
    public bool SelectDefender(Defender newDefender, DefenderButton newDefenderButton)
    {
        if (!currencyManager.Affords(newDefender.GetCost()))
        {
            return(false);
        }

        defender       = newDefender;
        defenderButton = newDefenderButton;

        return(true);
    }
Example #22
0
    public void AttemptToPlaceDefender(Vector2 gridPos)
    {
        var money        = FindObjectOfType <MoneyDisplay>();
        var defenderCost = defender.GetCost();

        if (money.EnoughMoney(defenderCost))
        {
            money.RemoveMoney(defenderCost);
            var obj = Instantiate(defender, gridPos, Quaternion.identity);
            obj.transform.parent = defenderParent.transform;
        }
    }
Example #23
0
    private void SetButtonCoinsCostText()
    {
        TextMeshProUGUI costText = GetComponentInChildren <TextMeshProUGUI>();

        if (!costText)
        {
            Debug.LogError(name + " has no cost text");
        }
        else
        {
            costText.text = defenderPrefab.GetCost().ToString();
        }
    }
Example #24
0
    private void DisplayCost()
    {
        Text costLabel = GetComponentInChildren <Text>();

        if (costLabel)
        {
            costLabel.text = defenderPrefab.GetCost().ToString();
        }
        else
        {
            Debug.LogError(name + " is missing cost text object!");
        }
    }
    void SpawnDefender()
    {
        if (!defender)
        {
            return;
        }

        CoinsDisplay coinsDisplay = FindObjectOfType <CoinsDisplay>();

        if (!coinsDisplay)
        {
            return;
        }

        if (coinsDisplay.CanAfford(defender.GetCost()))
        {
            coinsDisplay.RemoveCoins(defender.GetCost());
            var position       = GetMouseWorldPosition();
            var defenderObject = Instantiate(defender, position, Quaternion.identity);
            defenderObject.transform.parent = defenderParent.transform;
            SetSortingOrderByRowNumber(defenderObject, position);
        }
    }
Example #26
0
        private void AttemptToPlaceDefender(Vector2 gridPos)
        {
            if (defender)
            {
                int unitCost = defender.GetCost();
                if (resources.HasResources(unitCost))
                {
                    SpawnDefender(gridPos);
                    resources.SpendResources(unitCost);
                }
            }

            else
            {
                //TODO: play error sound to tell player he has to select a defender
            }
        }
Example #27
0
    private void OnMouseDown()
    {
        int cost = selectedDefender.GetCost();

        Vector3 defenderPos = Camera.main.ScreenToWorldPoint(Input.mousePosition);

        defenderPos.x = Mathf.Round(defenderPos.x);
        defenderPos.y = Mathf.Round(defenderPos.y);
        defenderPos.z = -1;

        if (resourceManager.IsEnough(cost) &&
            !isFilled[Mathf.RoundToInt(defenderPos.x - 1), Mathf.RoundToInt(defenderPos.y - 1)])
        {
            resourceManager.DecResources(cost);
            SpawnCurrentDefender(defenderPos);
        }
        else
        {
            resourceManager.FlashError();
        }
    }
Example #28
0
    private void AttemptToPlaceDefenderAt(Vector2 gridPos)
    {
        var   bankDisplay  = FindObjectOfType <BankDisplay>();
        float defenderCost = defender.GetCost();

        if (bankDisplay.HaveEnoughCoins(defenderCost))
        {
            foreach (Vector2 square in busySquares)
            {
                if (square == gridPos)
                {
                    busySquare = true;
                }
            }
            if (!busySquare)
            {
                SpawnDefender(gridPos);
                bankDisplay.SpendCoins(defenderCost);
            }
            busySquare = false;
        }
    }
Example #29
0
    private void SpawnDefender(Vector2 position)
    {
        if (!defender)
        {
            return;
        }

        try
        {
            // Discount defender cost
            currencyManager.UpdateBy(-defender.GetCost());

            Instantiate(defender, position, Quaternion.identity);
        }
        catch (InsufficientFundsException)
        {
            Debug.LogError("Attempted to place defender without enough funds");
        }

        // Deselect defender
        defender = null;
        defenderButton.Deselect();
    }
Example #30
0
 private void Start()
 {
     spriteRenderer.color = defaultColor;
     costText.text        = defenderPrefab.GetCost().ToString();
 }