public void SetUp(GameObject _turret)
 {
     turret = _turret.GetComponent <TurretUpgrades>();
     if (turret.damageLevel < 5)
     {
         damageButton.GetComponentInChildren <Text>().text = "Damage price: " + turret.damagePrice[turret.damageLevel] + " next damage: " + turret.damagePerLevel[turret.damageLevel];
     }
     if (turret.radiusLevel < 5)
     {
         radiusButton.GetComponentInChildren <Text>().text = "Radius price: " + turret.radiusPrice[turret.radiusLevel] + " next radius: " + turret.radiusPerLevel[turret.radiusLevel];
     }
     if (turret.fireRateLevel < 5)
     {
         fireRateButton.GetComponentInChildren <Text>().text = "Firerate price: " + turret.fireRatePrice[turret.fireRateLevel] + " next firerate: " + turret.fireRatePerLevel[turret.fireRateLevel];
     }
 }
예제 #2
0
    // Use this for initialization
    void Start()
    {
        TurretUpgrades.MakeUpgrades();

        upgradeBackground        = GameObject.FindGameObjectWithTag(Tags.upgradePanel).GetComponent <Image>();
        selectedTurretBackground = GameObject.FindGameObjectWithTag(Tags.selectedTurretPanel).GetComponent <Image> ();
        selectedTurretImage      = GameObject.FindGameObjectWithTag(Tags.selectedTurretPanel).transform.FindChild("SelectedImage").GetComponent <Image> ();
        selectedTurretStats      = GameObject.FindGameObjectWithTag(Tags.selectedTurretPanel).transform.Find("TurretStats").GetComponent <Text> ();

        int upgradeType = 0;

        foreach (GameObject obj in GameObject.FindGameObjectsWithTag(Tags.upgradeButton))
        {
            // The struggle
            int upTypeReal = upgradeType;

            UpgradeButton upgradeButton = new UpgradeButton(obj.GetComponent <Button>(), obj.transform.Find("UpgradeName").GetComponent <Text>(),
                                                            obj.transform.Find("UpgradeDescription").GetComponent <Text>(),
                                                            obj.transform.Find("UpgradeStats").GetComponent <Text>(),
                                                            obj.transform.Find("UpgradeImage").GetComponent <RawImage> ());

            upgradeButtons.Add(upgradeButton);

            UnityEngine.Events.UnityAction action1 = () => { Upgrade(upTypeReal); };
            obj.GetComponent <Button>().onClick.AddListener(action1);
            upgradeType++;
        }

        LoadIcons();

        // Turret Upgrade Menu
        upgradeMenu     = GameObject.Find("UpgradeMenu");
        upgradeAnimator = upgradeMenu.GetComponent <Animator>();


        sellPrice = GameObject.Find("CashBack").GetComponent <Text> ();
    }
예제 #3
0
    private void AttachToTurret()
    {
        // TODO: Change icons / text based on turret type and associated levels.
        background.color   = new Color(SelectedTurret.focusMenuRed, SelectedTurret.focusMenuGreen, SelectedTurret.focusMenuBlue, .5f);
        transform.position = new Vector3(SelectedTurret.transform.position.x, 99, SelectedTurret.transform.position.z);

        BoxCollider aButtonCollider = this.GetComponentInChildren <BoxCollider>();

        float slideWidthCheck = aButtonCollider.bounds.size.x * 5.6f;

        if (Camera.main.WorldToScreenPoint(transform.position).x < slideWidthCheck)
        {
            transform.position = new Vector3(transform.position.x + 9, 99, SelectedTurret.transform.position.z - 9);
        }
        else if (Camera.main.WorldToScreenPoint(transform.position).x > Screen.width - slideWidthCheck)
        {
            transform.position = new Vector3(transform.position.x - 9, 99, SelectedTurret.transform.position.z + 9);
        }

        switch (SelectedTurret.TurretType)
        {
        case TurretType.EarthTurret:
            upgradeOneIcon.spriteName   = "Quake";
            upgradeTwoIcon.spriteName   = "MeteorShower";
            upgradeThreeIcon.spriteName = "RootBinding";

            prices[0].text = TurretUpgrades.GetUpgradeCost(TurretUpgrades.quakeCost, selectedTurret.UpgradeOneLevel);
            prices[1].text = TurretUpgrades.GetUpgradeCost(TurretUpgrades.meteorShowerCost, selectedTurret.UpgradeTwoLevel);
            prices[2].text = TurretUpgrades.GetUpgradeCost(TurretUpgrades.rootBindingCost, selectedTurret.UpgradeThreeLevel);

            break;

        case TurretType.FireTurret:
            upgradeOneIcon.spriteName   = "Inferno";
            upgradeTwoIcon.spriteName   = "Armageddon";
            upgradeThreeIcon.spriteName = "Burn";

            prices[0].text = TurretUpgrades.GetUpgradeCost(TurretUpgrades.infernoCost, selectedTurret.UpgradeOneLevel);
            prices[1].text = TurretUpgrades.GetUpgradeCost(TurretUpgrades.armageddonCost, selectedTurret.UpgradeTwoLevel);
            prices[2].text = TurretUpgrades.GetUpgradeCost(TurretUpgrades.burnCost, selectedTurret.UpgradeThreeLevel);
            break;

        case TurretType.StormTurret:
            upgradeOneIcon.spriteName   = "ChainLightning";
            upgradeTwoIcon.spriteName   = "Frost";
            upgradeThreeIcon.spriteName = "LightningStrike";

            prices[0].text = TurretUpgrades.GetUpgradeCost(TurretUpgrades.chainLightningCost, selectedTurret.UpgradeOneLevel);
            prices[1].text = TurretUpgrades.GetUpgradeCost(TurretUpgrades.frostCost, selectedTurret.UpgradeTwoLevel);
            prices[2].text = TurretUpgrades.GetUpgradeCost(TurretUpgrades.lightningStrikeCost, selectedTurret.UpgradeThreeLevel);
            break;

        case TurretType.VoodooTurret:
            upgradeOneIcon.spriteName   = "Poison";
            upgradeTwoIcon.spriteName   = "MindControl";
            upgradeThreeIcon.spriteName = "Hex";

            prices[0].text = TurretUpgrades.GetUpgradeCost(TurretUpgrades.poisonCost, selectedTurret.UpgradeOneLevel);
            prices[1].text = TurretUpgrades.GetUpgradeCost(TurretUpgrades.mindControlCost, selectedTurret.UpgradeTwoLevel);
            prices[2].text = TurretUpgrades.GetUpgradeCost(TurretUpgrades.hexCost, selectedTurret.UpgradeThreeLevel);
            break;
        }

        if (selectedTurret.UpgradeOneLevel + selectedTurret.UpgradeTwoLevel + selectedTurret.UpgradeThreeLevel == 3)
        {
            prices[0].text = "";
            prices[1].text = "";
            prices[2].text = "";
        }

        CorrectUpgradeNumbers();
    }