public void UpgradeTower() { // finds the selected object objectToUpgrade = GameObject.FindGameObjectWithTag("Selected"); if (objectToUpgrade != null) { // gets the towerManagement script towerManagement = objectToUpgrade.GetComponent <TowerManagement> (); // gets the tower that the object upgrades to towerUpgrade = towerManagement.upgradedTower; // gets the towerStats script of the upgraded tower if (towerUpgrade != null) { upgradeTowerStats = towerUpgrade.GetComponent <TowerStats> (); } else { return; } scoreManager = GameObject.FindObjectOfType <ScoreManager> (); if (scoreManager.money >= upgradeTowerStats.price && objectToUpgrade != null && towerUpgrade != null) { scoreManager.money -= upgradeTowerStats.price; Vector3 postion = objectToUpgrade.transform.position; Quaternion rotation = objectToUpgrade.transform.rotation; Instantiate(towerUpgrade, postion, rotation); Destroy(objectToUpgrade); } } }
// Use this for initialization protected void Start() { CurrentPower = MaxPower; b_isPowerDraining = false; currentAction = E_Action.IDLE; m_destinationCheckpoint = null; manager = GameManager.GetInstance(); //register Events GameManager.GetInstance().PauseEvent.AddListener(OnPause); //define agent agent = GetComponent <NavMeshAgent>(); //get enemy tower object foreach (GameObject tower in GameManager.GetInstance().Towers) { TowerManagement man = tower.GetComponent <TowerManagement>(); if (man != null) { if (man.Team != Team) { m_enemyTower = tower; } else { m_teamTower = tower; } } } //define node AI DefineNode(); m_communicator = m_teamTower.GetComponent <Communicator>(); }
private void Awake() { if (instance != null && instance != this) { Destroy(this.gameObject); } else { instance = this; } }