Example #1
0
        public void SetarDados(DadosDoPersonagem dados, int indice, TipoDeDado tipo, System.Action <int> ao)
        {
            Acao += ao;
            switch (tipo)
            {
            case TipoDeDado.item:
                imgDoDado.texture = GameController.g.El.RetornaMini(dados.Itens[indice].ID);
                txtDoDado.text    = MbItens.NomeEmLinguas(dados.Itens[indice].ID);
                quantidade.text   = dados.Itens[indice].Estoque.ToString();
                break;

            case TipoDeDado.golpe:
                nomesGolpes nomeG = dados.CriaturesAtivos[0].GerenteDeGolpes.meusGolpes[indice].Nome;
                SetarGolpe(nomeG);
                break;

            case TipoDeDado.criature:
                containerDaQuantidade.SetActive(false);
                imgDoDado.texture = GameController.g.El.RetornaMini(dados.CriaturesAtivos[indice + 1].NomeID);
                txtDoDado.text    = dados.CriaturesAtivos[indice + 1].NomeEmLinguas;
                break;
            }

            // if (indice < 5 /*&& !GameController.g.HudM.PauseM.gameObject.activeSelf*/)
            //  txtDoBtn.text = "n" + (indice + 1);
            //else
            //txtDoBtn.transform.parent.gameObject.SetActive(false);
        }
Example #2
0
 public void IniciarPainel(nomeIDitem ID, int quantidade)
 {
     descricaoDoItem.transform.parent.gameObject.SetActive(true);
     imgDoItem.texture    = GameController.g.El.RetornaMini(ID);
     numDeItens.text      = quantidade.ToString();
     nomeDoItem.text      = MbItens.NomeEmLinguas(ID);
     descricaoDoItem.text = BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.shopInfoItem)[(int)ID];
 }
Example #3
0
        static MbItens ProcuraItemNaLista(nomeIDitem nome)
        {
            MbItens retorno = new MbItens(new ContainerDeCaracteristicasDeItem());

            for (int i = GameController.g.Manager.Dados.Itens.Count - 1; i > -1; i--)
            {
                if (GameController.g.Manager.Dados.Itens[i].ID == nome)
                {
                    retorno = GameController.g.Manager.Dados.Itens[i];
                }
            }
            return(retorno);
        }
Example #4
0
        public static bool RetirarUmItem(
            CharacterManager gerente,
            MbItens nomeItem,
            int quantidade       = 1,
            FluxoDeRetorno fluxo = FluxoDeRetorno.heroi)
        {
            bool retorno = true;

            for (int i = 0; i < quantidade; i++)
            {
                retorno &= RetirarUmItem(ProcuraItemNaLista(nomeItem.ID), gerente, fluxo);
            }

            return(retorno);
        }
Example #5
0
        public static bool RetirarUmItem(
            MbItens nomeItem,
            CharacterManager gerente,
            FluxoDeRetorno fluxo = FluxoDeRetorno.heroi)
        {
            int indice = gerente.Dados.Itens.IndexOf(nomeItem);

            if (indice > -1)
            {
                if (gerente.Dados.Itens[indice].Estoque >= 1)
                {
                    gerente.Dados.Itens[indice].Estoque--;
                    GameController g = GameController.g;
                    if (g.UsarTempoDeItem == UsarTempoDeItem.sempre || (g.UsarTempoDeItem == UsarTempoDeItem.emLuta && g.estaEmLuta))
                    {
                        gerente.Dados.TempoDoUltimoUsoDeItem = Time.time;
                    }

                    Debug.Log("remove ai vai");
                    if (gerente.Dados.Itens[indice].Estoque == 0)
                    {
                        Debug.Log("Tira daĆ­");
                        g.FinalizaHuds();
                        gerente.Dados.Itens.Remove(gerente.Dados.Itens[indice]);

                        if (gerente.Dados.itemSai > gerente.Dados.Itens.Count - 1)
                        {
                            gerente.Dados.itemSai = 0;
                        }

                        if (fluxo == FluxoDeRetorno.menuCriature || fluxo == FluxoDeRetorno.menuHeroi)
                        {
                            GameController.g.StartCoroutine(VoltarDosItensQuandoNaoTemMais());
                        }
                    }
                    return(true);
                }
            }

            return(false);
        }
Example #6
0
        public void SetarOpcao(System.Action <int> acaoDaOpcao, string txtDaOpcao, bool comprar = true, int indice = -1)
        {
            this.indice = indice;
            nomeIDitem nomeID = (nomeIDitem)System.Enum.Parse(typeof(nomeIDitem), txtDaOpcao);

            Acao             += acaoDaOpcao;
            TextoOpcao.text   = MbItens.NomeEmLinguas(nomeID);
            imgDoItem.texture = GameController.g.El.RetornaMini(nomeID);
            if (comprar)
            {
                precoDoItem.text = PegaUmItem.Retorna(nomeID).Valor.ToString();
                indice           = transform.GetSiblingIndex() - 1;
            }
            else
            {
                int valor = PegaUmItem.Retorna(nomeID).Valor;
                if (valor > 0)
                {
                    precoDoItem.text = Mathf.Max(valor / 4, 1).ToString();
                }
            }
        }
Example #7
0
        public void AdicionaItem(nomeIDitem nomeItem)
        {
            MbItens I   = PegaUmItem.Retorna(nomeItem);
            bool    foi = false;

            if (I.Acumulavel > 1)
            {
                int ondeTem = -1;
                for (int i = 0; i < Itens.Count; i++)
                {
                    if (Itens[i].ID == I.ID)
                    {
                        if (Itens[i].Estoque < Itens[i].Acumulavel)
                        {
                            if (!foi)
                            {
                                ondeTem = i;
                                foi     = true;
                            }
                        }
                    }
                }

                if (foi)
                {
                    Itens[ondeTem].Estoque++;
                }
                else
                {
                    Itens.Add(PegaUmItem.Retorna(nomeItem));
                }
            }
            else
            {
                Itens.Add(PegaUmItem.Retorna(nomeItem));
            }
        }
Example #8
0
        // Use this for initialization
        public void Start(CharacterManager manager, FluxoDeRetorno fluxo)
        {
            retorno       = false;
            retornoDeFora = true;
            gerente       = manager;
            esseItem      = gerente.Dados.Itens[gerente.Dados.itemSai];
            this.fluxo    = fluxo;

            switch (fluxo)
            {
            case FluxoDeRetorno.criature:
                esseItem.IniciaUsoComCriature(gerente.gameObject);
                break;

            case FluxoDeRetorno.heroi:
                esseItem.IniciaUsoDeHeroi(gerente.gameObject);
                break;

            case FluxoDeRetorno.menuHeroi:
            case FluxoDeRetorno.menuCriature:
                esseItem.IniciaUsoDeMenu(gerente.gameObject);
                break;
            }
        }
Example #9
0
        void VerificaItem()
        {
            if (GameController.g.MyKeys.VerificaAutoShift(autoKey))
            {
                GameController.g.HudM.Painel.AtivarNovaMens(textos[1], 25);
            }
            else
            {
                ItemDeBau ii = itemDoBau[indiceDoItem];
                GameController.g.HudM.Painel.AtivarNovaMens(string.Format(textos[2], ii.Quantidade, MbItens.NomeEmLinguas(ii.Item)), 25);
                GameController.g.HudM.MostrarItem.IniciarPainel(ii.Item, ii.Quantidade);
                GameController.g.Manager.Dados.AdicionaItem(ii.Item, ii.Quantidade);

                indiceDoItem++;
            }
        }
Example #10
0
        void AtualizaDadosDeHUD()
        {
            if (contadorDeItens.Count > 0)
            {
                VerificaNumeroDeElementos();


                int    indiceEscolhido = -1;
                string nome            = "";

                if (dados != null)
                {
                    for (int i = 0; i < numeroDeElementos; i++)
                    {
                        Texture2D textura = null;
                        contadorDeItens[i].transform.parent.gameObject.SetActive(false);
                        switch (tipo)
                        {
                        case TipoHud.criatures:
                            textura = GameController.g.El.RetornaMini(dados.CriaturesAtivos[i + 1].NomeID);
                            if (i == dados.CriatureSai)
                            {
                                indiceEscolhido = i;
                                nome            = dados.CriaturesAtivos[i + 1].NomeEmLinguas;
                            }
                            break;

                        case TipoHud.golpes:
                            GerenciadorDeGolpes gB = GameController.g.Manager.CriatureAtivo.MeuCriatureBase.GerenteDeGolpes;
                            textura = GameController.g.El.RetornaMini(gB.meusGolpes[i].Nome);
                            if (i == gB.golpeEscolhido)
                            {
                                indiceEscolhido = i;
                                nome            = gB.meusGolpes[i].NomeEmLinguas();
                            }
                            break;

                        case TipoHud.items:
                            textura = GameController.g.El.RetornaMini(dados.Itens[i].ID);
                            if (i == dados.itemSai)
                            {
                                nome            = MbItens.NomeEmLinguas(dados.Itens[i].ID);
                                indiceEscolhido = i;
                            }
                            contadorDeItens[i].transform.parent.gameObject.SetActive(true);
                            contadorDeItens[i].text = dados.Itens[i].Estoque.ToString();
                            break;
                        }

                        if (numeroDeElementos > i)
                        {
                            raw[i].texture = textura;
                            raw[i].color   = new Color(1, 1, 1, 1);
                        }
                        else
                        {
                            raw[i].color = new Color(1, 1, 1, 0);
                        }

                        if (i == indiceEscolhido)
                        {
                            imagensDePainel[i].sprite = GameController.g.El.uiDestaque;
                        }
                        else
                        {
                            imagensDePainel[i].sprite = GameController.g.El.uiDefault;
                        }
                    }
                }

                textoDoItem.text = nome;
            }
        }