protected void EscolhiEmQuemUsar(
        int indice,
        bool vaiUsar,
        bool tipoCerto,
        TipoQuantitativo tipoQ,
        int valor,
        int corrente,
        int maximo,
        nomeTipos recuperaDoTipo)
    {
        CharacterManager manager = GameController.g.Manager;
        CriatureBase     C       = manager.Dados.CriaturesAtivos[indice];
        Atributos        A       = C.CaracCriature.meusAtributos;

        if (vaiUsar && tipoCerto)
        {
            RetirarUmItem(manager, this, 1, FluxoDeRetorno.menuHeroi);
            ItemQuantitativo.AplicacaoDoItemComMenu(manager, C, tipoQ, valor);
        }
        else if (!tipoCerto)
        {
            MensDeUsoDeItem.MensNaoTemOTipo(recuperaDoTipo.ToString());
        }
        else if (corrente >= maximo)
        {
            MensDeUsoDeItem.MensDeNaoPrecisaDesseItem(C.NomeEmLinguas);
        }
        else if (corrente <= 0)
        {
            MensDeUsoDeItem.MensDeMorto(C.NomeEmLinguas);
        }
    }
    public static void AplicacaoDoItemComMenu(CharacterManager manager, CriatureBase C, TipoQuantitativo Q, int valor)
    {
        Atributos A = C.CaracCriature.meusAtributos;

        if (Q == TipoQuantitativo.PV)
        {
            RecuperaPV(A, valor);
        }
        else
        {
            RecuperaPE(A, valor);
        }

        PainelStatus ps = GameController.g.HudM.P_EscolheUsoDeItens;

        GameController.g.HudM.AtualizaHudHeroi(C);
        GameController.g.StartCoroutine(
            ParticulaDeCoisasBoas.ParticulasMaisBotao(ps.GetComponent <RectTransform>(), ps.ReligarMeusBotoes)
            );

        ps.DesligarMeusBotoes();
        ps.BtnMeuOutro(manager.Dados.CriaturesAtivos.IndexOf(C));
    }