示例#1
0
    void Update()
    {
        if (inRange == true && (Input.GetKeyDown(KeyCode.E) || Input.GetKeyDown(KeyCode.Joystick1Button0)) && !gc.incontroON)
        {
            PlayerMovement pos = FindObjectOfType <PlayerMovement>();
            checkpointPos  = pos.playerPos;
            pos.respawnPos = checkpointPos;

            PlayerStatsControl   stats = FindObjectOfType <PlayerStatsControl>();
            UiControlExploration ui    = FindObjectOfType <UiControlExploration>();
            stats.lastCheckpoint = new Vector2(this.transform.position.x - 0.5f, this.transform.position.y - 0.5f);
            stats.statsDps.hp    = stats.statsDps.hpMax;
            stats.statsTank.hp   = stats.statsTank.hpMax;
            stats.statsMago.hp   = stats.statsMago.hpMax;

            stats.statsDps.mp  = stats.statsDps.mpMax;
            stats.statsTank.mp = stats.statsTank.mpMax;
            stats.statsMago.mp = stats.statsMago.mpMax;

            ui.AggiornaMana();
            ui.AggiornaVita();
            GameObject.Find("AudioManager").GetComponent <AudioSource>().PlayOneShot(audioFontana);
            Debug.Log("Hai recuperato vita");
        }
    }
示例#2
0
    void Update()
    {
        if (oneTime == true && (Input.GetKeyDown(KeyCode.E) || Input.GetKeyDown(KeyCode.Joystick1Button0)) && !gc.incontroON)
        {
            if (isHpPotion == true && stats.soldi >= costo) // Al posto dello zero, verrà imposto come limite il prezzo della pozione
            {
                GameObject.Find("AudioManager").GetComponent <AudioSource>().PlayOneShot(buyConfirm);
                UiControlExploration ui = FindObjectOfType <UiControlExploration>();
                stats.nPotionHealth++;
                //stats.soldi--;
                stats.soldi -= costo;
                ui.AggiornaPotion();
                ui.AggiornaAveri();
            }

            else if (isMpPotion == true && stats.soldi >= costo)
            {
                GameObject.Find("AudioManager").GetComponent <AudioSource>().PlayOneShot(buyConfirm);
                UiControlExploration ui = FindObjectOfType <UiControlExploration>();
                stats.nPotionMana++;
                stats.soldi -= costo;
                ui.AggiornaPotion();
                ui.AggiornaAveri();
            }
        }
    }
    public void Cura()
    {
        PlayerStatsControl   stats = FindObjectOfType <PlayerStatsControl>();
        UiControlExploration ui    = FindObjectOfType <UiControlExploration>();

        stats.nPotionHealth--;
        ui.AggiornaPotion();
        switch (nPlayer)
        {
        case 1:
        {
            int cura = Mathf.RoundToInt(stats.statsMago.hpMax / 2);
            stats.statsMago.hp += cura;
            if (stats.statsMago.hp > stats.statsMago.hpMax)
            {
                stats.statsMago.hp = stats.statsMago.hpMax;
            }
            ui.AggiornaVita();
            break;
        }

        case 2:
        {
            int cura = Mathf.RoundToInt(stats.statsTank.hpMax / 2);
            stats.statsTank.hp += cura;
            if (stats.statsTank.hp > stats.statsTank.hpMax)
            {
                stats.statsTank.hp = stats.statsTank.hpMax;
            }
            ui.AggiornaVita();
            break;
        }

        case 3:
        {
            int cura = Mathf.RoundToInt(stats.statsDps.hpMax / 2);
            stats.statsDps.hp += cura;
            if (stats.statsDps.hp > stats.statsDps.hpMax)
            {
                stats.statsDps.hp = stats.statsDps.hpMax;
            }
            ui.AggiornaVita();
            break;
        }

        default:
            break;
        }
    }
示例#4
0
    void OnTriggerEnter2D(Collider2D coll)
    {
        if (coll.gameObject.name == "Player")
        {
            Vector2        pos    = new Vector2(this.transform.position.x - 0.5f, this.transform.position.y - 0.5f);
            PlayerMovement player = coll.gameObject.GetComponent <PlayerMovement>();
            Grid           grid   = FindObjectOfType <Grid>();
            grid.cells[(int)pos.x, (int)pos.y].GetComponent <Cell>().cellObject = null;
            GameObject.Find("AudioManager").GetComponent <AudioSource>().PlayOneShot(dropKey);
            player.hasKey = true;
            keys.nKeys++;

            UiControlExploration ui = FindObjectOfType <UiControlExploration>();
            ui.AggiornaKey();
            Destroy(this.gameObject);
        }
    }
示例#5
0
    void OnTriggerEnter2D(Collider2D coll)
    {
        PlayerMovement player = coll.gameObject.GetComponent <PlayerMovement>();

        if (coll.gameObject.name == "Player" && player.hasKey && keys.nKeys > 0)
        {
            UiControlExploration ui = FindObjectOfType <UiControlExploration>();
            GameObject.Find("AudioManager").GetComponent <AudioSource>().PlayOneShot(openDoor);
            Vector2 pos  = new Vector2(this.transform.position.x - 0.5f, this.transform.position.y - 0.5f);
            Grid    grid = FindObjectOfType <Grid>();
            grid.cells[(int)pos.x, (int)pos.y].GetComponent <Cell>().isSemiWall = false;

            player.hasKey = false;
            keys.nKeys--;
            ui.AggiornaKey();
            sr.sprite = door;
            Collider2D thiscol = GetComponent <Collider2D>();
            thiscol.enabled = false;
        }
    }
示例#6
0
    void Update()
    {
        if (battleScene.isLoaded)
        {
            incontroON = true;
            player.SetActive(false);
            cameraOBJ.SetActive(false);
            Canvas.SetActive(false);
        }
        else
        {
            UiControlExploration ui = FindObjectOfType <UiControlExploration>();
            incontroON = false;
            player.SetActive(true);
            Canvas.SetActive(true);
            cameraOBJ.SetActive(true);
            if (stats.death)
            {
                stats.SetPlayerPos();
            }

            Animator anim = cameraOBJ.GetComponent <Animator>();
        }
    }
    public void CheckCostoAbilita(int i)
    {
        PlayerStatsControl   stats = FindObjectOfType <PlayerStatsControl>();
        UiControlExploration ui    = FindObjectOfType <UiControlExploration>();
        Text  help       = ui.menuStats.transform.Find("Info").GetComponent <Text>();
        Image infoSprite = ui.menuStats.transform.Find("InfoSprite").GetComponent <Image>();

        //infoSprite.rectTransform.localPosition = new Vector3(-20f, infoSprite.rectTransform.localPosition.y, infoSprite.rectTransform.localPosition.z);
        infoSprite.gameObject.SetActive(true);
        switch (ui.nCharacter)
        {
        case 1:
        {
            if (stats.esperience < costoAbilita[i] && stats.statsMago.livello >= ui.step[i])
            {
                infoSprite.gameObject.SetActive(false);
                ui.buttons[i].interactable = false;
                help.text = "Hai poca esperienza!";
            }

            if (stats.statsMago.livello < ui.step[i])
            {
                help.text = "Devi salire di livello!";
                infoSprite.gameObject.SetActive(false);
            }
            break;
        }

        case 2:
        {
            if (stats.esperience < costoAbilita[i] && stats.statsTank.livello >= ui.step[i])
            {
                help.text = "Hai poca esperienza!";
                ui.buttons[i].interactable = false;
                infoSprite.gameObject.SetActive(false);
            }

            if (stats.statsTank.livello < ui.step[i])
            {
                infoSprite.gameObject.SetActive(false);
                ui.buttons[i].interactable = false;
                help.text = "Devi salire di livello!";
            }
            break;
        }

        case 3:
        {
            if (stats.esperience < costoAbilita[i] && stats.statsDps.livello >= ui.step[i])
            {
                infoSprite.gameObject.SetActive(false);
                ui.buttons[i].interactable = false;
                help.text = "Hai poca esperienza!";
            }
            if (stats.statsDps.livello < ui.step[i])
            {
                infoSprite.gameObject.SetActive(false);
                help.text = "Devi salire di livello!";
            }
            break;
        }
        }
    }
    public void ShowInfo()
    {
        UiControlExploration ui    = FindObjectOfType <UiControlExploration>();
        PlayerStatsControl   stats = FindObjectOfType <PlayerStatsControl>();

        ui.abilityBox.SetActive(true);
        ui.loaderBox.SetActive(false);
        Text  costo      = ui.menuStats.transform.Find("LoaderBox/AbilityBox/Costo").GetComponent <Text>();
        Image costoImage = ui.menuStats.transform.Find("LoaderBox/AbilityBox/ExpSprite").GetComponent <Image>();
        Text  nome       = ui.menuStats.transform.Find("LoaderBox/AbilityBox/Titolo/Text").GetComponent <Text>();
        Text  richiede   = ui.menuStats.transform.Find("LoaderBox/AbilityBox/Richiede").GetComponent <Text>();

        Image abilitySprite    = ui.menuStats.transform.Find("LoaderBox/AbilityBox/AbilityImage").GetComponent <Image>();
        Image acquistatoSprite = ui.menuStats.transform.Find("LoaderBox/AbilityBox/Acquistato").GetComponent <Image>();

        Text mp   = ui.menuStats.transform.Find("LoaderBox/AbilityBox/Mp").GetComponent <Text>();
        Text info = ui.menuStats.transform.Find("LoaderBox/AbilityBox/Info/Text").GetComponent <Text>();

        Text help = ui.menuStats.transform.Find("Info").GetComponent <Text>();

        help.text = "Impara abilità";

        switch (ui.nCharacter)
        {
        case 1:
        {
            nome.text = nomi[ui.nCharacter - 1];
            if (!stats.statsMago.abilitaSbloccate[nButton])
            {
                if (stats.statsMago.livello < step[nButton])
                {
                    costoImage.enabled       = false;
                    richiede.text            = "Richiede il livello " + (step[nButton] + 3);
                    costo.text               = "";
                    acquistatoSprite.enabled = false;
                }
                else
                {
                    costoImage.enabled       = true;
                    costo.text               = costoAbilita[nButton].ToString();
                    richiede.text            = "";
                    acquistatoSprite.enabled = false;
                }
            }
            else
            {
                costo.text               = "";
                richiede.text            = "";
                acquistatoSprite.enabled = true;
                costoImage.enabled       = false;
            }


            abilitySprite.sprite = abilityGrande[ui.nCharacter - 1];
            mp.text   = stats.statsMago.costoAbilita[nButton].ToString() + " MP";
            info.text = infoAbility[ui.nCharacter - 1];
            break;
        }

        case 2:
        {
            nome.text = nomi[ui.nCharacter - 1];
            if (!stats.statsTank.abilitaSbloccate[nButton])
            {
                if (stats.statsTank.livello < step[nButton])
                {
                    costoImage.enabled       = false;
                    richiede.text            = "Richiede il livello " + (step[nButton] + 3);
                    costo.text               = "";
                    acquistatoSprite.enabled = false;
                }
                else
                {
                    costoImage.enabled       = true;
                    costo.text               = costoAbilita[nButton].ToString();
                    richiede.text            = "";
                    acquistatoSprite.enabled = false;
                }
            }
            else
            {
                costo.text               = "";
                richiede.text            = "";
                acquistatoSprite.enabled = true;
                costoImage.enabled       = false;
            }

            abilitySprite.sprite = abilityGrande[ui.nCharacter - 1];
            mp.text   = stats.statsTank.costoAbilita[nButton].ToString() + " MP";
            info.text = infoAbility[ui.nCharacter - 1];
            break;
        }

        case 3:
        {
            nome.text = nomi[ui.nCharacter - 1];
            if (!stats.statsDps.abilitaSbloccate[nButton])
            {
                if (stats.statsDps.livello < step[nButton])
                {
                    costoImage.enabled       = false;
                    richiede.text            = "Richiede il livello " + (step[nButton] + 3);
                    costo.text               = "";
                    acquistatoSprite.enabled = false;
                }
                else
                {
                    costoImage.enabled       = true;
                    costo.text               = costoAbilita[nButton].ToString();
                    richiede.text            = "";
                    acquistatoSprite.enabled = false;
                }
            }
            else
            {
                costo.text               = "";
                richiede.text            = "";
                acquistatoSprite.enabled = true;
                costoImage.enabled       = false;
            }

            abilitySprite.sprite = abilityGrande[ui.nCharacter - 1];
            mp.text   = stats.statsDps.costoAbilita[nButton].ToString() + " MP";
            info.text = infoAbility[ui.nCharacter - 1];
            break;
        }
        }
    }
    void Update()
    {
        if ((Input.GetKeyDown(KeyCode.E) || Input.GetKeyDown(KeyCode.Joystick1Button0)) && isClosed == false)
        {
            PlayerMovement player = FindObjectOfType <PlayerMovement>();
            player.isSpeaking = false;
            panelAvvisi.SetActive(false);
            return;
        }

        if (inFront == true && (Input.GetKeyDown(KeyCode.E) || Input.GetKeyUp(KeyCode.Joystick1Button0)) && isClosed == true && !gc.incontroON)
        {
            GameObject.Find("AudioManager").GetComponent <AudioSource>().PlayOneShot(openChests);
            PlayerMovement player = FindObjectOfType <PlayerMovement>();
            player.isSpeaking = true;
            Vector2 pos  = new Vector2(this.transform.position.x - 0.5f, this.transform.position.y - 0.5f);
            Grid    grid = FindObjectOfType <Grid>();
            grid.cells[(int)pos.x, (int)pos.y].GetComponent <Cell>().cellObject = this.gameObject;
            grid.cells[(int)pos.x, (int)pos.y].GetComponent <Cell>().isSemiWall = true;


            isClosed = false;
            if (hpPotion)
            {
                PlayerStatsControl   stats = FindObjectOfType <PlayerStatsControl>();
                UiControlExploration ui    = FindObjectOfType <UiControlExploration>();
                stats.nPotionHealth++;
                ui.AggiornaPotion();

                panelAvvisi.SetActive(true);

                Text  titolo = panelAvvisi.transform.Find("Titolo").GetComponent <Text>();
                Image image  = panelAvvisi.transform.Find("Image").GetComponent <Image>();
                Text  info   = panelAvvisi.transform.Find("Info").GetComponent <Text>();

                titolo.text  = "Hai trovato: Essenza di vita";
                image.sprite = vitaGrande;
                info.text    = "Usa questo oggetto per ripristinare la vita";
            }
            if (mpPotion)
            {
                PlayerStatsControl   stats = FindObjectOfType <PlayerStatsControl>();
                UiControlExploration ui    = FindObjectOfType <UiControlExploration>();
                stats.nPotionMana++;
                ui.AggiornaPotion();

                panelAvvisi.SetActive(true);

                Text  titolo = panelAvvisi.transform.Find("Titolo").GetComponent <Text>();
                Image image  = panelAvvisi.transform.Find("Image").GetComponent <Image>();
                Text  info   = panelAvvisi.transform.Find("Info").GetComponent <Text>();

                titolo.text  = "Hai trovato: Essenza di mana";
                image.sprite = manaGrande;
                info.text    = "Usa questo oggetto per ripristinare il mana";
            }
            if (soldi)
            {
                PlayerStatsControl   stats = FindObjectOfType <PlayerStatsControl>();
                UiControlExploration ui    = FindObjectOfType <UiControlExploration>();
                stats.soldi += nSoldi;
                ui.AggiornaAveri();

                panelAvvisi.SetActive(true);

                Text  titolo = panelAvvisi.transform.Find("Titolo").GetComponent <Text>();
                Image image  = panelAvvisi.transform.Find("Image").GetComponent <Image>();
                Text  info   = panelAvvisi.transform.Find("Info").GetComponent <Text>();

                titolo.text  = "Hai trovato: " + nSoldi.ToString() + " gocce di sangue";
                image.sprite = soldiSprite;
                info.text    = "Usali per acquistare pozioni";
            }
            if (tankPowerUp)
            {
                PlayerStatsControl   stats = FindObjectOfType <PlayerStatsControl>();
                UiControlExploration ui    = FindObjectOfType <UiControlExploration>();

                stats.statsTank.livello++;
                stats.statsTank.forza++;
                stats.statsTank.hpMax       += stats.incrementiTank.hpPerForza;
                stats.statsTank.mpMax       += stats.incrementiTank.mpPerForza;
                stats.statsTank.attMelee    += stats.incrementiTank.attMeleePerForza;
                stats.statsTank.attDistanza += stats.incrementiTank.attDistanzaPerForza;
                stats.statsTank.attMagico   += stats.incrementiTank.attMagicoPerForza;
                stats.statsTank.difFisica   += stats.incrementiTank.difFisicaPerForza;
                stats.statsTank.difMagica   += stats.incrementiTank.difMagicaPerForza;
                stats.statsTank.velocita    += stats.incrementiTank.velocitaPerForza;

                ui.AggiornaMana();
                ui.AggiornaVita();

                panelAvvisi.SetActive(true);

                Text  titolo = panelAvvisi.transform.Find("Titolo").GetComponent <Text>();
                Image image  = panelAvvisi.transform.Find("Image").GetComponent <Image>();
                Text  info   = panelAvvisi.transform.Find("Info").GetComponent <Text>();

                titolo.text  = "Hai trovato: Runa della forza";
                image.sprite = tankPowerUpSprite;
                info.text    = "Questo oggetto ha aumentato la caratteristica forza di Johell";
            }
            if (magePowerUp)
            {
                PlayerStatsControl   stats = FindObjectOfType <PlayerStatsControl>();
                UiControlExploration ui    = FindObjectOfType <UiControlExploration>();

                stats.statsMago.livello++;
                stats.statsMago.Spirito++;
                stats.statsMago.hpMax       += stats.incrementiMago.hpPerSpirito;
                stats.statsMago.mpMax       += stats.incrementiMago.mpPerSpirito;
                stats.statsMago.attMelee    += stats.incrementiMago.attMeleePerSpirito;
                stats.statsMago.attDistanza += stats.incrementiMago.attDistanzaPerSpirito;
                stats.statsMago.attMagico   += stats.incrementiMago.attMagicoPerSpirito;
                stats.statsMago.difFisica   += stats.incrementiMago.difFisicaPerSpirito;
                stats.statsMago.difMagica   += stats.incrementiMago.difMagicaPerSpirito;
                stats.statsMago.velocita    += stats.incrementiMago.velocitaPerSpirito;

                ui.AggiornaMana();
                ui.AggiornaVita();

                panelAvvisi.SetActive(true);

                Text  titolo = panelAvvisi.transform.Find("Titolo").GetComponent <Text>();
                Image image  = panelAvvisi.transform.Find("Image").GetComponent <Image>();
                Text  info   = panelAvvisi.transform.Find("Info").GetComponent <Text>();

                titolo.text  = "Hai trovato: Runa dello spirito";
                image.sprite = magePowerUpSprite;
                info.text    = "Questo oggetto ha aumentato la caratteristica sprito di Elibeth";
            }
            if (dpsPowerUp)
            {
                PlayerStatsControl   stats = FindObjectOfType <PlayerStatsControl>();
                UiControlExploration ui    = FindObjectOfType <UiControlExploration>();

                stats.statsDps.livello++;
                stats.statsDps.destrezza++;
                stats.statsDps.hpMax       += stats.incrementiDps.hpPerDestrezza;
                stats.statsDps.mpMax       += stats.incrementiDps.mpPerDestrezza;
                stats.statsDps.attMelee    += stats.incrementiDps.attMeleePerDestrezza;
                stats.statsDps.attDistanza += stats.incrementiDps.attDistanzaPerDestrezza;
                stats.statsDps.attMagico   += stats.incrementiDps.attMagicoPerDestrezza;
                stats.statsDps.difFisica   += stats.incrementiDps.difFisicaPerDestrezza;
                stats.statsDps.difMagica   += stats.incrementiDps.difMagicaPerDestrezza;
                stats.statsDps.velocita    += stats.incrementiDps.velocitaPerDestrezza;

                ui.AggiornaMana();
                ui.AggiornaVita();

                panelAvvisi.SetActive(true);

                Text  titolo = panelAvvisi.transform.Find("Titolo").GetComponent <Text>();
                Image image  = panelAvvisi.transform.Find("Image").GetComponent <Image>();
                Text  info   = panelAvvisi.transform.Find("Info").GetComponent <Text>();

                titolo.text  = "Hai trovato: Runa della destrezza";
                image.sprite = dpsPowerUpSprite;
                info.text    = "Questo oggetto ha aumentato la caratteristica destrezza di Jupep";
            }
            if (!dpsPowerUp && !tankPowerUp && !magePowerUp && !soldi && !hpPotion && !mpPotion)
            {
                panelAvvisi.SetActive(true);

                Text  titolo = panelAvvisi.transform.Find("Titolo").GetComponent <Text>();
                Image image  = panelAvvisi.transform.Find("Image").GetComponent <Image>();
                Text  info   = panelAvvisi.transform.Find("Info").GetComponent <Text>();

                titolo.text  = "Il forziere è vuoto";
                image.sprite = alpha;
                info.text    = "Sara' gia' stato razziato";
            }
            sr.sprite = openChest;
            return;
        }
    }
示例#10
0
    void CoAggiornaPotion()
    {
        UiControlExploration ui = FindObjectOfType <UiControlExploration>();

        ui.AggiornaPotion();
    }