Beispiel #1
0
    //Only For Own Turrets
    public virtual void Upgrade()
    {
        int cost = turretValues.upgradeOrInvestCost[0];

        if (manaSys.currentMana > cost)
        {
            manaSys.ManaMinus(cost, transform.position, 5);
        }
        else
        {
            print("Not Enough Mana");
            return;
        }

        level = Mathf.Min(++level, 3);

        //Change Model According to new level
        switch (level)
        {
        case 1:
            baseModel.mesh          = lvl1Model[0];
            turretModel.mesh        = lvl1Model[1];
            meshCollider.sharedMesh = lvl1Model[2];
            break;

        case 2:
            baseModel.mesh          = lvl2Model[0];
            turretModel.mesh        = lvl2Model[1];
            meshCollider.sharedMesh = lvl2Model[2];
            break;

        case 3:
            baseModel.mesh          = lvl3Model[0];
            turretModel.mesh        = lvl3Model[1];
            meshCollider.sharedMesh = lvl3Model[2];
            investOrUpgradeDisabled = true;
            break;

        default:
            baseModel.mesh          = lvl1Model[0];
            turretModel.mesh        = lvl1Model[1];
            meshCollider.sharedMesh = lvl1Model[2];
            print("Invalid Level Detected");
            break;
        }

        ChangeMaterial(level);
        //Add Changes to Stats as well
        UpgradeStats();

        ManaSystem.inst.gui.turretInfo.UpdateTurretInfo(this);

        collider.radius = (turretValues.range / 2) / gameObject.transform.localScale.x;

        manaLight.gameObject.transform.localPosition = turretValues.lightingPos;
    }
Beispiel #2
0
 //handles placing of building
 void Build(Vector3 buildPos)
 {
     Instantiate(towers[buildIndex].actualTower, buildPos, towers[buildIndex].actualTower.transform.rotation);
     manaSys.ManaMinus(towers[buildIndex].cost, buildPos, 5);
 }