Exemplo n.º 1
0
        protected override void EscolhiEmQuemUsar(int indice)
        {
            indiceDoEscolhido = indice;
            CriatureBase C     = GameController.g.Manager.Dados.CriaturesAtivos[indice];
            Atributos    A     = C.CaracCriature.meusAtributos;
            Usara        usara = VerificaUso(C);

            if (usara.diferenteDeNulo && !usara.jaTem || A.PV.Corrente <= 0)
            {
                if (C.GerenteDeGolpes.meusGolpes.Count >= 4 && A.PV.Corrente > 0)
                {
                    VerificaQualEsquecer(C, UsarOuNaoUsarMenu);
                    GameController.g.HudM.P_EscolheUsoDeItens.gameObject.SetActive(false);
                    GameController.g.HudM.MenuDePause.EsconderPainelDeItens();
                }
                else
                {
                    EscolhiEmQuemUsar(indice, A.PV.Corrente > 0, true);
                }
            }
            else if (!usara.diferenteDeNulo)
            {
                MensDeUsoDeItem.MensNaoPodeAprenderGolpe(NomeBasico, C.NomeEmLinguas);
            }
            else if (usara.jaTem)
            {
                MensDeUsoDeItem.MensjaConheceGolpe(C.NomeEmLinguas, NomeEmLinguas(ID), GolpeBase.NomeEmLinguas(GolpePorAprender(C)));
            }
        }
Exemplo n.º 2
0
        protected void EscolhiEmQuemUsar(
            int indice,
            bool vaiUsar,
            bool tipoCerto,
            int valor                = 0,
            int corrente             = 0,
            int maximo               = 0,
            NomeTipos recuperaDoTipo = NomeTipos.nulo)
        {
            CharacterManager manager = GameController.g.Manager;
            CriatureBase     C       = manager.Dados.CriaturesAtivos[indice];

            if (vaiUsar && tipoCerto)
            {
                if (Consumivel)
                {
                    RetirarUmItem(manager, this, 1, FluxoDeRetorno.menuHeroi);
                }

                AcaoDoItemConsumivel(C);
                ItemQuantitativo.AplicacaoDoItemComMenu(manager, C, valor, VerificaTemMaisParaUsar);
            }
            else if (!tipoCerto)
            {
                MensDeUsoDeItem.MensNaoTemOTipo(recuperaDoTipo.ToString());
            }

            else if (corrente <= 0)
            {
                MensDeUsoDeItem.MensDeMorto(C.NomeEmLinguas);
            }
            else if (corrente >= maximo)
            {
                MensDeUsoDeItem.MensDeNaoPrecisaDesseItem(C.NomeEmLinguas);
            }
        }