new void Start() { if (ExistenciaDoController.AgendaExiste(Start, this)) { KeyVar keys = GameController.g.MyKeys; Debug.Log("Conversou primeiro com Derek: " + keys.VerificaAutoShift(KeyShift.conversouPrimeiroComDerek) + " - venceu Derek: " + keys.VerificaAutoShift(KeyShift.venceuDerekPrimeiraVez)); if (keys.VerificaAutoShift(KeyShift.conversouPrimeiroComDerek) && keys.VerificaAutoShift(KeyShift.venceuDerekPrimeiraVez)) { if (keys.VerificaAutoShift(KeyShift.entreouCanetaDeIan)) { npc = npcIan; } else { MbItens.RetirarUmItem(GameController.g.Manager, PegaUmItem.Retorna(nomeIDitem.canetaSagradaDeLog), 1); } } else if (!keys.VerificaAutoShift(KeyShift.conversouPrimeiroComDerek) && !keys.VerificaAutoShift(KeyShift.venceuDerekPrimeiraVez)) { Debug.Log("Ué...."); npc = npcMov; } base.Start(); } }
public static bool RetirarUmItem( CharacterManager gerente, MbItens nomeItem, 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--; Debug.Log("remove ai vai"); if (gerente.Dados.Itens[indice].Estoque == 0) { Debug.Log("Tira daí"); gerente.Dados.Itens.Remove(gerente.Dados.Itens[indice]); if (fluxo == FluxoDeRetorno.menuCriature || fluxo == FluxoDeRetorno.menuHeroi) { GameController.g.StartCoroutine(VoltarDosItensQuandoNaoTemMais()); } } return(true); } } return(false); }
public void BtnOrganizar() { if (!modoOrganizar) { if (oSelecionado < 0) { infos.text = BancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.selecioneParaOrganizar); } else { infos.text = string.Format( BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.selecioneParaOrganizar)[1], MbItens.NomeEmLinguas(meusItens[oSelecionado].ID)); } EntrarNoModoOrganizar(); } else { SairDoModoOrganizar(); if (oSelecionado > -1) { infos.text = BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.shopInfoItem)[(int)(meusItens[oSelecionado].ID)]; } else { infos.text = "Toque sobre um item para seleciona-lo"; } } }
void AoClique(int i) { if (!modoOrganizar) { infos.text = BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.shopInfoItem)[(int)(meusItens[i].ID)]; MudaSpriteDoItem(i); } else { if (oSelecionado >= 0) { insereI.FinalizarHud(); TrocarDePosicao(oSelecionado, i); infos.text = BancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.selecioneParaOrganizar); gameObject.SetActive(true); } else { MudaSpriteDoItem(i); infos.text = string.Format( BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.selecioneParaOrganizar)[1], MbItens.NomeEmLinguas(meusItens[oSelecionado].ID)); } } }
void TrocarDePosicao(int a, int b) { MbItens temp = (MbItens)meusItens[a].Clone(); meusItens[a] = (MbItens)meusItens[b].Clone(); meusItens[b] = temp; GameController.g.Manager.Dados.Itens = new System.Collections.Generic.List <MbItens>(); GameController.g.Manager.Dados.Itens.AddRange(meusItens); }
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); }
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(gerente, ProcuraItemNaLista(nomeItem.ID), fluxo); } return(retorno); }
public void BotaoComprar() { if (comprar) { if (dados.Cristais >= quantidade * esseItem.Valor) { dados.AdicionaItem(esseItem.ID, quantidade); dados.Cristais -= quantidade * esseItem.Valor; GameController.g.HudM.AtualizeImagemDeAtivos(); EntrarNaFraseAgradecer(); //gameObject.SetActive(false); } else if (dados.Cristais < esseItem.Valor) { DesligaBotoes(); GameController.g.HudM.UmaMensagem.ConstroiPainelUmaMensagem(ReligarBotoes, string.Format(textos[11], dados.Cristais / esseItem.Valor, MbItens.NomeEmLinguas(esseItem.ID)) ); AtualizaQuantidade(1, esseItem.Valor); } else { DesligaBotoes(); GameController.g.HudM.UmaMensagem.ConstroiPainelUmaMensagem(ReligarBotoes, string.Format(textos[7], dados.Cristais / esseItem.Valor, MbItens.NomeEmLinguas(esseItem.ID)) ); AtualizaQuantidade(dados.Cristais / esseItem.Valor, esseItem.Valor); } } else { if (quantidade <= dados.TemItem(esseItem.ID)) { MbItens.RetirarUmItem(GameController.g.Manager, esseItem, quantidade, FluxoDeRetorno.armagedom); dados.Cristais += (quantidade * Mathf.Max(1, esseItem.Valor / 4)); GameController.g.HudM.AtualizeImagemDeAtivos(); EntrarNaFraseAgradecer();//gameObject.SetActive(false); } else { DesligaBotoes(); GameController.g.HudM.UmaMensagem.ConstroiPainelUmaMensagem(ReligarBotoes, string.Format(textos[8], dados.TemItem(esseItem.ID), MbItens.NomeEmLinguas(esseItem.ID)) ); AtualizaQuantidade(dados.TemItem(esseItem.ID), Mathf.Max(1, esseItem.Valor / 4)); } } }
string[] RetornaArgumentosPreVenda() { string[] retorno = new string[3]; KeyVar keys = GameController.g.MyKeys; retorno[0] = !indice1?MbItens.NomeEmLinguas(nomeIDitem.pergSinara) : MbItens.NomeEmLinguas(nomeIDitem.pergAlana); retorno[1] = !indice1 ? Mathf.Pow(2, keys.VerificaAutoCont(KeyCont.pergSinaraComprados)).ToString() : Mathf.Pow(2, keys.VerificaAutoCont(KeyCont.pergAlanaComprados)).ToString(); retorno[2] = !indice1 ? (100 * Mathf.Pow(2, keys.VerificaAutoCont(KeyCont.pergSinaraComprados))).ToString() : (100 * Mathf.Pow(2, keys.VerificaAutoCont(KeyCont.pergAlanaComprados))).ToString(); return(retorno); }
public void IniciarEssaHud(MbItens itemAlvo, bool comprar = true) { this.comprar = comprar; gameObject.SetActive(true); esseItem = itemAlvo; dados = GameController.g.Manager.Dados; quantidade = 1; labelCristais.text = textos[0] + dados.Cristais; mensagem.text = string.Format(comprar ? textos[3] : textos[4], item.nomeEmLinguas(itemAlvo.ID)); infos.text = bancoDeTextos.falacoes[heroi.lingua]["shopInfoItem"][(int)(itemAlvo.ID)]; quantidadeTXt.text = quantidade.ToString(); valorAPagar.text = (itemAlvo.Valor / (comprar?1:4)).ToString(); labelValorAPagar.text = comprar ? textos[1] : textos[2]; labelDoBotaoComprar.text = comprar ? textos[5] : textos[6]; }
public PergOlharMal(int estoque = 1) : base(new ContainerDeCaracteristicasDeItem(nomeIDitem.pergOlharMal) { valor = 333 }) { Estoque = estoque; TextoDaMensagemInicial = new string[2] { string.Format(BancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.emQuem), MbItens.NomeEmLinguas(nomeIDitem.pergOlharMal)), BancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.aprendeuGolpe), }; Particula = DoJogo.particulaDoAtaquePergaminhoFora; golpeDoPergaminho = new nomesGolpes[1] { nomesGolpes.olharMal, }; }
void VerificaMais(int tanto) { if (comprar) { if ((quantidade + tanto) * esseItem.Valor > dados.Cristais && dados.Cristais >= esseItem.Valor) { DesligaBotoes(); estado = EstadoDaqui.emEspera; GameController.g.HudM.UmaMensagem.ConstroiPainelUmaMensagem(ReligarBotoes, string.Format(textos[7], dados.Cristais / esseItem.Valor, MbItens.NomeEmLinguas(esseItem.ID)) ); AtualizaQuantidade(Mathf.Max(dados.Cristais / esseItem.Valor, 1), esseItem.Valor); } else if (dados.Cristais < esseItem.Valor) { DesligaBotoes(); estado = EstadoDaqui.emEspera; GameController.g.HudM.UmaMensagem.ConstroiPainelUmaMensagem(ReligarBotoes, string.Format(textos[11], dados.Cristais / esseItem.Valor, MbItens.NomeEmLinguas(esseItem.ID)) ); AtualizaQuantidade(1, esseItem.Valor); } else { AtualizaQuantidade(quantidade + tanto, esseItem.Valor); } } else { if (quantidade + tanto > dados.TemItem(esseItem.ID)) { DesligaBotoes(); estado = EstadoDaqui.emEspera; GameController.g.HudM.UmaMensagem.ConstroiPainelUmaMensagem(ReligarBotoes, string.Format(textos[8], dados.TemItem(esseItem.ID), MbItens.NomeEmLinguas(esseItem.ID)) ); AtualizaQuantidade(dados.TemItem(esseItem.ID), Mathf.Max(1,esseItem.Valor / 4)); } else { AtualizaQuantidade(quantidade + tanto, Mathf.Max(1, esseItem.Valor / 4)); } } }
public void IniciarEssaHud(MbItens itemAlvo, bool comprar = true) { this.comprar = comprar; BtnsManager.ReligarBotoes(gameObject); ActionManager.ModificarAcao(transform, BotaoComprar); estado = EstadoDaqui.botoesAtivos; gameObject.SetActive(true); esseItem = itemAlvo; dados = GameController.g.Manager.Dados; quantidade = 1; labelCristais.text = textos[0] + dados.Cristais; mensagem.text = string.Format(comprar ? textos[3] : textos[4], MbItens.NomeEmLinguas(itemAlvo.ID)); infos.text = BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.shopInfoItem)[(int)(itemAlvo.ID)]; quantidadeTXt.text = (comprar)?quantidade.ToString():quantidade+" / "+ dados.TemItem(esseItem.ID); valorAPagar.text = (itemAlvo.Valor / (comprar ? 1 : 4)).ToString(); labelValorAPagar.text = comprar ? textos[1] : textos[2]; labelDoBotaoComprar.text = comprar ? textos[5] : textos[6]; }
void ComprarOuNaoComprar(int indice) { GameController.g.HudM.Menu_Basico.FinalizarHud(); DisparaTexto disparaT = GameController.g.HudM.DisparaT; KeyVar keys = GameController.g.MyKeys; DadosDoPersonagem dados = GameController.g.Manager.Dados; disparaT.DesligarPaineis(); int val = !indice1 ? (int)Mathf.Pow(2, keys.VerificaAutoCont(KeyCont.pergSinaraComprados)) : (int)Mathf.Pow(2, keys.VerificaAutoCont(KeyCont.pergAlanaComprados)); switch (indice) { case 0: if (dados.TemItem(nomeIDitem.tinteiroSagradoDeLog) >= val && dados.Cristais >= 100 * val) { dados.Cristais -= 100 * val; GameController.g.HudM.AtualizeImagemDeAtivos(); MbItens.RetirarUmItem(GameController.g.Manager, nomeIDitem.tinteiroSagradoDeLog, val); dados.AdicionaItem(indice1 ? nomeIDitem.pergAlana : nomeIDitem.pergSinara); disparaT.ReligarPaineis(); disparaT.Dispara(conversa[2], fotoDoNPC); estadoInterno = EstadoInterno.fraseDeBoaCompra; keys.SomaCont(indice1 ? KeyCont.pergAlanaComprados : KeyCont.pergSinaraComprados, 1); } else { disparaT.ReligarPaineis(); disparaT.Dispara(conversa[1], fotoDoNPC); estadoInterno = EstadoInterno.fraseInsuficiente; } break; case 1: EntraNasEscolhas(); break; } }
public PergDeSabre(int estoque = 1) : base(new ContainerDeCaracteristicasDeItem(nomeIDitem.pergSabre) { valor = 0, consumivel = false }) { Estoque = estoque; TextoDaMensagemInicial = new string[2] { string.Format(BancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.emQuem), MbItens.NomeEmLinguas(nomeIDitem.pergSabre)), BancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.aprendeuGolpe), }; Particula = DoJogo.particulaDoPoderPergaminhoFora; nomeBasico = "Sabre"; golpeDoPergaminho = new nomesGolpes[4] { nomesGolpes.sabreDeAsa, nomesGolpes.sabreDeBastao, nomesGolpes.sabreDeEspada, nomesGolpes.sabreDeNadadeira }; }
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)); } }
// 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; } }
public static MbItens Retorna(nomeIDitem nomeItem, int estoque = 1) { MbItens retorno = new MbItens(new ContainerDeCaracteristicasDeItem()); switch (nomeItem) { case nomeIDitem.maca: retorno = new MbMaca(estoque); break; case nomeIDitem.cartaLuva: retorno = new MbCartaLuva(estoque); break; case nomeIDitem.gasolina: retorno = new MbGasolina(estoque); break; case nomeIDitem.aguaTonica: retorno = new MbAguaTonica(estoque); break; case nomeIDitem.aura: retorno = new MbAura(estoque); break; case nomeIDitem.regador: retorno = new MbRegador(estoque); break; case nomeIDitem.ventilador: retorno = new MbVentilador(estoque); break; case nomeIDitem.inseticida: retorno = new MbInseticida(estoque); break; case nomeIDitem.pilha: retorno = new MbPilha(estoque); break; case nomeIDitem.estrela: retorno = new MbEstrela(estoque); break; case nomeIDitem.seiva: retorno = new MbSeiva(estoque); break; case nomeIDitem.quartzo: retorno = new MbQuartzo(estoque); break; case nomeIDitem.adubo: retorno = new MbAdubo(estoque); break; case nomeIDitem.repolhoComOvo: retorno = new MbRepolhoComOvo(estoque); break; case nomeIDitem.pergArmagedom: retorno = new MbPergaminhoDeArmagedom(estoque); break; case nomeIDitem.pergaminhoDePerfeicao: retorno = new MbPergaminhoDePerfeicao(estoque); break; case nomeIDitem.pergaminhoDeFuga: retorno = new MbPergaminhoDeFuga(estoque); break; case nomeIDitem.tinteiroSagradoDeLog: retorno = new TinteiroSagradaDeLog(estoque); break; case nomeIDitem.pergaminhoDeLaurense: retorno = new PergaminhoDeLaurense(estoque); break; case nomeIDitem.pergaminhoDeAnanda: retorno = new PergaminhoDeAnanda(estoque); break; case nomeIDitem.pergaminhoDeBoutjoi: retorno = new PergaminhoDeBoutjoi(estoque); break; case nomeIDitem.canetaSagradaDeLog: retorno = new CanetaSagradaDeLog(estoque); break; case nomeIDitem.pergSinara: retorno = new PergaminhoDeSinara(estoque); break; case nomeIDitem.pergAlana: retorno = new PergaminhoDeAlana(estoque); break; case nomeIDitem.pergSabre: retorno = new PergDeSabre(estoque); break; case nomeIDitem.pergMultiplicar: retorno = new PergDoMultiplicar(estoque); break; case nomeIDitem.antidoto: retorno = new Antidoto(estoque); break; case nomeIDitem.amuletoDaCoragem: retorno = new AmuletoDaCoragem(estoque); break; case nomeIDitem.tonico: retorno = new Tonico(estoque); break; case nomeIDitem.pergOlharEnfraquecedor: retorno = new PergOlharEnfraquecedor(estoque); break; case nomeIDitem.pergOlharMal: retorno = new PergOlharMal(estoque); break; case nomeIDitem.pergFuracaoDeFolhas: retorno = new PergFuracaoDeFolhas(estoque); break; case nomeIDitem.pergVentosCortantes: retorno = new PergVentosCortantes(estoque); break; case nomeIDitem.pergGosmaAcida: retorno = new PergGosmaAcida(estoque); break; } return(retorno); }
public static MbItens Retorna(nomeIDitem nomeItem, int estoque = 1) { MbItens retorno = new MbItens(new ContainerDeCaracteristicasDeItem()); switch (nomeItem) { case nomeIDitem.maca: retorno = new MbMaca(estoque); break; case nomeIDitem.cartaLuva: retorno = new MbCartaLuva(estoque); break; case nomeIDitem.gasolina: retorno = new MbGasolina(estoque); break; case nomeIDitem.aguaTonica: retorno = new MbAguaTonica(estoque); break; case nomeIDitem.aura: retorno = new MbAura(estoque); break; case nomeIDitem.regador: retorno = new MbRegador(estoque); break; case nomeIDitem.ventilador: retorno = new MbVentilador(estoque); break; case nomeIDitem.inseticida: retorno = new MbInseticida(estoque); break; case nomeIDitem.pilha: retorno = new MbPilha(estoque); break; case nomeIDitem.estrela: retorno = new MbEstrela(estoque); break; case nomeIDitem.seiva: retorno = new MbSeiva(estoque); break; case nomeIDitem.quartzo: retorno = new MbQuartzo(estoque); break; case nomeIDitem.adubo: retorno = new MbAdubo(estoque); break; case nomeIDitem.repolhoComOvo: retorno = new MbRepolhoComOvo(estoque); break; } return(retorno); }
void VerificaItem() { ItemDeBau ii = recompensas[indiceDoEnviado]; GameController.g.HudM.Painel.AtivarNovaMens(string.Format(conversa[3], 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); indiceDoEnviado++; }