// Update is called once per frame void Update() { if (entrada == Teclas.CANCEL) { entrada = 0; gs.PlaySoundMenuCancel(); VoltarAoMenuDeBatalha(); } else if (entrada == Teclas.ACTION) { entrada = 0; bool somErro = false; Habilidade aEscolher = unid.habilidades[posHabSelecionada]; if (aEscolher == null || unid.pt < aEscolher.custo || !unid.ExistemPersonagensAlvos(aEscolher.alcanceMin, aEscolher.alcanceMax, aEscolher.seMesmoTime)) { somErro = true; //print("não pode usar habilidade"); } else { cursor.GetComponent <SpriteRenderer>().sprite = Resources.Load <Sprite>(aEscolher.cursorSprite); unid.habilidadeAtual = aEscolher; gerenciadorInput.cursorAtivo = 0; canvasAlvo.GetComponent <Canvas>().enabled = true; //o jogo ficará circulando entre os alvos permitidos, então começaremos //movendo para o primeiro alvo encontrado (viés para o canto inferior esquerdo) cursor.GetComponent <ControleCursor>().IrParaPrimeiroAlvoHabilidade(unid.habilidadeAtual.seMesmoTime); cursor.GetComponent <ControleCursor>().MostrarOverlaysHabilidades(unid.habilidadeAtual.seMesmoTime); gameObject.GetComponent <Canvas>().enabled = false; } gs.PlaySoundMenuSelect(somErro); } else if (entrada == Teclas.DPAD) { entrada = 0; gs.PlaySoundMenuChange(); posHabSelecionada = posHabSelecionada - (int)direcao.y; posHabSelecionada = (slots.Length + posHabSelecionada) % slots.Length; MostrarHabilidades(); } }
// Update is called once per frame void Update() { if (entrada == Teclas.CANCEL) { entrada = 0; gs.PlaySoundMenuCancel(); if (estado == SELECAO_ITEM) { VoltarAoMenuDeBatalha(); } else if (estado == SELECAO_ACAO) { LimparAcoes(); estado = SELECAO_ITEM; } } else if (entrada == Teclas.ACTION) { entrada = 0; bool somErro = false; if (estado == SELECAO_ITEM) { Item itemAtual = unid.inventario[posItemSelecionado]; if (itemAtual != null) { itemSelecionado = itemAtual; estado = SELECAO_ACAO; MostrarAcoes(); } else { somErro = true; } } else if (estado == SELECAO_ACAO) { if (posAcaoSelecionada == 0) { if (acoes[0].text == "> Desequipar <") { unid.arma = DefinesArmas.armas["Punho"]; gs.AtualizarMenuBatalha(); } else if (acoes[0].text == "> Equipar <") { //equipar a arma que tem o mesmo nome do item selecionado unid.arma = DefinesArmas.armas[itemSelecionado.nome]; gs.AtualizarMenuBatalha(); } else { if (itemSelecionado == null || itemSelecionado.efeitoUso == null) { somErro = true; //print("não pode usar habilidade"); } else { unid.itemAtual = itemSelecionado; unid.posItemAtual = posItemSelecionado; gerenciadorInput.cursorAtivo = 0; canvasAlvo.GetComponent <Canvas>().enabled = true; //o jogo ficará circulando entre os alvos permitidos, então começaremos //movendo para o primeiro alvo encontrado (viés para o canto inferior esquerdo) cursor.GetComponent <ControleCursor>().IrParaPrimeiroAlvoItem(); cursor.GetComponent <ControleCursor>().MostrarOverlaysItem(); gameObject.GetComponent <Canvas>().enabled = false; } gs.PlaySoundMenuSelect(somErro); } } else if (posAcaoSelecionada == 1) { if (!unid.ExistemPersonagensAlvos(1, 1, true)) { somErro = true; //print("não pode trocar item"); } else { gerenciadorInput.cursorAtivo = 0; canvasAlvo.GetComponent <Canvas>().enabled = true; //o jogo ficará circulando entre os alvos permitidos, então começaremos //movendo para o primeiro alvo encontrado (viés para o canto inferior esquerdo) cursor.GetComponent <ControleCursor>().IrParaPrimeiroAlvoTroca(); cursor.GetComponent <ControleCursor>().MostrarOverlaysItem(); cursor.GetComponent <ControleCursor>().indiceItemSelecionado = posItemSelecionado; gameObject.GetComponent <Canvas>().enabled = false; } } else if (posAcaoSelecionada == 2) { //TODO: melhor pedir um diálogo de confirmação //TODO: som de descarte unid.DescartarItem(posItemSelecionado); gs.AtualizarMenuBatalha(); itemSelecionado = null; estado = SELECAO_ITEM; LimparAcoes(); } MostrarItens(); if (itemSelecionado != null) { MostrarAcoes(); } MostrarArmaEquipada(); } gs.PlaySoundMenuSelect(somErro); } else if (entrada == Teclas.DPAD) { entrada = 0; gs.PlaySoundMenuChange(); if (estado == SELECAO_ITEM) { posItemSelecionado = posItemSelecionado - (int)direcao.y; posItemSelecionado = (slots.Length + posItemSelecionado) % slots.Length; MostrarItens(); } else if (estado == SELECAO_ACAO) { posAcaoSelecionada = posAcaoSelecionada - (int)direcao.y; posAcaoSelecionada = (acoes.Length + posAcaoSelecionada) % acoes.Length; MostrarAcoes(); } } }