コード例 #1
0
    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
            }
        }
    }
コード例 #2
0
    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
    }