public void upgrade(int upgradeIndex, Turret turret, bool playerTurret) { if (upgradeIndex == 0) { TowerUpgrade upgrade = leftPath[leftIndex]; if (playerTurret) { if (pm.getMoney() >= upgrade.cost) { pm.changeMoney(-upgrade.cost); leftIndex++; upgrade.activate(turret); } } else { if (em.getMoney() >= upgrade.cost) { em.changeMoney(-upgrade.cost); leftIndex++; upgrade.activate(turret); } } } else { TowerUpgrade upgrade = rightPath[rightIndex]; if (playerTurret) { if (pm.getMoney() >= upgrade.cost) { pm.changeMoney(-upgrade.cost); rightIndex++; upgrade.activate(turret); } } else { if (em.getMoney() >= upgrade.cost) { em.changeMoney(-upgrade.cost); rightIndex++; upgrade.activate(turret); } } } }
public void buildTurret(TurretBlueprint blueprint) { GameObject turret = (GameObject)Instantiate(blueprint.prefab, getBuildPosition(), Quaternion.identity); this.turret = turret; GameObject effect = (GameObject)Instantiate(blueprint.buildEffect, getBuildPosition(), Quaternion.identity); Destroy(effect, 5f); this.turretBlueprint = blueprint; em.changeMoney(-turretBlueprint.cost); }
protected void die() { if (minionType == MinionType.Divide) { GameObject min1 = (GameObject)Instantiate(meleePrefab, this.transform.position + this.transform.forward, this.transform.rotation); min1.GetComponent <MinionMovement>().waypoints = this.getMinionMovement().waypoints; min1.GetComponent <MinionMovement>().setWaypointIndex(this.getMinionMovement().getWaypointIndex()); GameObject min2 = (GameObject)Instantiate(meleePrefab, this.transform.position - this.transform.forward, this.transform.rotation); min2.GetComponent <MinionMovement>().waypoints = this.getMinionMovement().waypoints; min2.GetComponent <MinionMovement>().setWaypointIndex(this.getMinionMovement().getWaypointIndex()); } try { em.changeMoney(moneyValue); } catch (System.Exception e) { Debug.LogError("Couldn't give money to enemy: " + em + " " + moneyValue); } GameObject effect = (GameObject)Instantiate(deathEffect, transform.position, Quaternion.identity); Destroy(effect, 5f); Destroy(gameObject); }