public void RebuildRubble() { GameObject TwrDestroyed = pStatus.turretDestroyed; //trova qual'è la torretta distrutta GoldManager goldMG = GameObject.Find("GameManager").GetComponent <GoldManager>(); //trova il GoldManager int price = TwrDestroyed.GetComponent <Turret_LookAtRobot>().GetPriceToRebuild(); //costo di ricostruzione int moneyPossessed = goldMG.money; //controlla quanti soldi ha il giocatore if (moneyPossessed >= price) //se il giocatore ha abbastanza soldi per poter comprare... { Turret_HealthBar NT_HealthBar = TwrDestroyed.GetComponent <Turret_HealthBar>(); Destroy(pStatus.turretOnTop); //distruggi le rovine TwrDestroyed.SetActive(true); //ricrea la torre scelta nello spawnPoint che hai cliccato NT_HealthBar.SetHealth(); //resetta la sua vita Rebuild_Panel.SetActive(false); //chiudi il pannello Build pStatus.changePlatformStatus(TwrDestroyed); //imposta lo stato della piattaforma su "occupato" repairScript.addTorretta(TwrDestroyed); //aggiungi la torretta alla lista delle torrette nel livello NT_HealthBar.SetPlatform(TempTarget); //assegna la base di provenienza alla torretta //sottrai i soldi goldMG.ChangeMoney(-price);//trova il GameManager,prendi il component GoldManager e chiama il comando per cambiare i soldi(ChangeMoney) } else { if (!Povero_Panel.activeInHierarchy) //se il pannello di avviso non è già visibile... { //Debug.Log("Sei povero"); Povero_Panel.SetActive(true); //...fai apparire il pannello di avviso } } }
void HitTarget() //quando il bersaglio è colpito... { if (target.tag == "Enemy") //se è un nemico... { Enemy_HealthBar HealthBarScript = target.GetComponent <Enemy_HealthBar>(); //...prendi lo script della vita del nemico... if (HealthBarScript != null) { HealthBarScript.TakeDamage(damage); //... e chiama il comando per danneggiarlo } } if (target.tag == "Tower_Pos") //se è una torretta... { //Prendi lo script della healthbar della torre //danneggia la torre Turret_HealthBar HealthBarScript = target.GetComponent <Turret_HealthBar>();//...prendi lo script della vita della torretta... if (HealthBarScript != null) { HealthBarScript.TakeDamage(damage); //... e chiama il comando per danneggiarla } //Debug.Log("Torre Danneggiata"); } if (target.tag == "Base") //se è una base... { BaseBehaviour BaseHealtScript = target.GetComponent <BaseBehaviour>(); //prendi lo script della heathbar della base if (BaseHealtScript != null) { BaseHealtScript.BaseTakeDamage(damage); //danneggia la base } //Debug.Log("Base Danneggiata"); } //Debug.Log("Ho colpito qualcosa!"); Destroy(gameObject); //Poi distruggi questo proiettile }