// Update is called once per frame public void Update(Controlador controlador, int pontosDeMana, bool noChao, DadosDoJogador dados) { if (CommandReader.PressionadoBotao(2, controlador) && noChao) { if (!particulaDaCura.activeSelf) { tempoEmRecuperacao -= Time.deltaTime; } if (tempoEmRecuperacao < 0) { TempoPressionado += Time.deltaTime; if (EmTempoDeRecarga && pontosDeMana >= custoParaRecarga) { if (!particulaDaCura.activeSelf) { EventAgregator.Publish(new StandardSendGameEvent(EventKey.disparaSom, somDoIniciaCura)); } particulaDaCura.SetActive(true); } else if (pontosDeMana < custoParaRecarga) { tempoEmRecuperacao = coolDownRecharge; //som de não tem magia } if (TempoPressionado > tempoParaRecarga) { TempoPressionado = 0; tempoEmRecuperacao = coolDownRecharge; particulaDaCura.SetActive(false); VerifiqueRecarga(pontosDeMana); } } } else if (!CommandReader.PressionadoBotao(2, controlador)) { tempoEmRecuperacao -= Time.deltaTime; } if (CommandReader.ButtonUp(2, controlador)) { if (dados.TemDownArrowJump && CommandReader.VetorDirecao(controlador).z < -0.25f && !noChao) { VerifiqueDownArrowJump(pontosDeMana); } else if (TempoPressionado > tempoDaParticula) { tempoEmRecuperacao = coolDownRecharge; EventAgregator.Publish(new StandardSendGameEvent(null, EventKey.curaCancelada)); } else { if (tempoEmRecuperacao <= -1 && dados.TemMagicAttack) { VerifiqueMagicAttack(pontosDeMana); } } TempoPressionado = 0; particulaDaCura.SetActive(false); } }