private void UpgradeTo(GameObject HigherLevelTower) { if (gameData.usac >= HigherLevelTower.GetComponentInChildren <TowerShootsScript>().cost) { gameData.ChangeUsac(-HigherLevelTower.GetComponentInChildren <TowerShootsScript>().cost); GameObject newTower = Instantiate(HigherLevelTower, activeTower.transform.position, Quaternion.identity); newTower.transform.Find("Tower sprite").GetComponent <SpriteRenderer>().sortingOrder = activeTower.transform.Find("Tower sprite").GetComponent <SpriteRenderer>().sortingOrder; Debug.Log(activeTower.transform.Find("Tower sprite").GetComponent <SpriteRenderer>().sortingOrder.ToString()); Destroy(activeTower); DeactivateRadialMenu(); } }
public void OnEndDrag(PointerEventData eventData) { // If the prefab instance is active after dragging stopped, it means // it's in the arena so (for now), just drop it in. if (hoverTower.activeSelf) { Instantiate(tower, hoverTower.transform.position, Quaternion.identity); gameData.ChangeUsac(-towerPrice); } // Then set it to inactive ready for the next drag! hoverTower.SetActive(false); }
public void Runaway() { speed = runawaySpeed; gameData.ChangeUsac(GetComponent <EnemyHealthScript>().usacValue); GameObject[] exitPoints = GameObject.FindGameObjectsWithTag("ExitPoint"); GameObject closestExitPoint = exitPoints[0]; for (int i = 1; i < exitPoints.Length; i++) { if (Vector3.Distance(transform.position, closestExitPoint.transform.position) > Vector3.Distance(transform.position, exitPoints[i].transform.position)) { closestExitPoint = exitPoints[i]; } } targetToMoveTo = closestExitPoint.transform.position; //if (targetToMoveTo.x < transform.position.x) //{ // ChangeAnimationDirection(WaypointScript.direction.left); //} //else { // ChangeAnimationDirection(WaypointScript.direction.right); //} }