//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; }
//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); }