Example #1
0
 // Update is called once per frame
 void Update()
 {
     if (state == State.SELECTED && starDisplay.GetStars() < spawnsDefender.cost)
     {
         SetDisabled();
         selectedDefender = null;
     }
     else if (state == State.AVAILABLE && starDisplay.GetStars() < spawnsDefender.cost)
     {
         SetDisabled();
     }
     else if (state == State.DISABLED && starDisplay.GetStars() >= spawnsDefender.cost)
     {
         SetAvailable();
     }
 }
Example #2
0
    // Use this for initialization
    void Start()
    {
        starDisplay              = GameObject.FindObjectOfType <StarDisplay>();
        buttonArray              = GameObject.FindObjectsOfType <Button>();
        thisSpriteRenderer       = GetComponentInChildren <SpriteRenderer>();
        thisSpriteRenderer.color = unselectedColor;

        spawnsDefender = spawns.GetComponent <Defender>();

        state = starDisplay.GetStars() >= spawnsDefender.cost ? State.AVAILABLE : State.DISABLED;
        switch (state)
        {
        case State.AVAILABLE:
            SetAvailable();
            break;

        case State.DISABLED:
            SetDisabled();
            break;

        case State.SELECTED:
        default:
            // Nothing
            break;
        }

        // Set cost
        Text text = GetComponentInChildren <Text>();

        text.text = spawnsDefender.cost.ToString();
    }
Example #3
0
    private void AttemptToPlaceDefenderAt(Vector2 gridPos)
    {
        StarDisplay starDisplay  = FindObjectOfType <StarDisplay>();
        int         defenderCost = defender.GetStarsCost();

        if (starDisplay.GetStars() >= defenderCost)
        {
            SpawnDefender(gridPos);
            starDisplay.SpendStars(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);
            }
        }
    }