private void Upgrade() { if (defender != null) { Vector3 pos = defender.transform.position; var points = FindObjectOfType <PointsHandler>(); if (upgradeDefender != null && points.GetTotalPoints() >= upgradeDefender.GetPoints()) { Transform parentPlace = defender.transform.parent; Destroy(defender); Defender upgradeDefenderPrefab = Instantiate(upgradeDefender, pos, Quaternion.identity) as Defender; upgradeDefenderPrefab.transform.SetParent(parentPlace.transform); points.DecreasePoints(upgradeDefenderPrefab.GetPoints()); HideAllInstances(); PlayAudio(); } else if (points.GetTotalPoints() < upgradeDefender.GetPoints()) { StartCoroutine(ShowNotEnoughText()); } } }
private void SpawnDefender() { if (defender != null) { var points = FindObjectOfType <PointsHandler>() as PointsHandler; if (points.GetTotalPoints() >= defender.GetPoints()) { Defender newDefender = Instantiate(defender, transform.position + SPAWNING_POINT, Quaternion.identity) as Defender; newDefender.transform.SetParent(gameObject.transform); points.DecreasePoints(newDefender.GetPoints()); hasDefender = true; //Destroy(GetComponent<BoxCollider2D>()); } LockDefenders(); } }
private void HandleSelectedDefender() { var points = FindObjectOfType <PointsHandler>() as PointsHandler; if (points.GetTotalPoints() >= defender.GetPoints()) { ShowFreePlaces(); var defenders = FindObjectsOfType <DefenderSelection>(); foreach (DefenderSelection def in defenders) { LockDefender(def); } UnlockDefender(); PlaceDefender(defender); } else { StartCoroutine(ShowNotEnoughPoints()); } }