Exemplo n.º 1
0
    void Update()
    {
        if (healthBar == null && (tower.GetHealth() < tower.GetMaxHealth() || Game.GetSelectedTower() == tower))
        {
            healthBar = Instantiate(healthBarPrefab, Game.progressCanvas.transform);
            healthBar.GetComponent <HealthScript>().healthable = tower;
        }
        else if (tower.GetHealth() == tower.GetMaxHealth() && Game.GetSelectedTower() != tower)
        {
            Destroy(healthBar);
            healthBar = null;
        }

        if (tower.GetHealth() <= 0)
        {
            if (Game.GetSelectedTower() == tower)
            {
                Game.SelectTower(null);
            }

            Destroy(healthBar);

            tile.Hold(null);
            tile.SetUsed(false);

            GameObject.Destroy(gameObject);
        }

        if (tower != null)
        {
            if (!run)
            {
                GameObject model;
                model = Instantiate(tower.GetModel(), new Vector3(transform.position.x, transform.position.y + 2.5f, transform.position.z), transform.rotation);
                model.transform.SetParent(transform);

                FollowScript fs = model.GetComponentInChildren <FollowScript>();
                if (fs != null)
                {
                    tower.follow = fs.transform;
                }
                run = true;
            }
        }

        if (selectRenderer != null)
        {
            if (Game.GetSelectedTower() == tower)
            {
                selectRenderer.enabled = true;
            }
            else
            {
                selectRenderer.enabled = false;
            }
        }
    }