protected bool AtualizaUsoDesseItem(DoJogo particula) { switch (Estado) { case EstadoDeUsoDeItem.animandoBraco: if (!AnimaB.AnimaTroca(true)) { Estado = EstadoDeUsoDeItem.aplicandoItem; Manager.Mov.Animador.ResetaTroca(); AuxiliarDeInstancia.InstancieEDestrua(particula, CriatureAlvoDoItem.transform.position, 1); } break; case EstadoDeUsoDeItem.aplicandoItem: TempoDecorrido += Time.deltaTime; if (TempoDecorrido > TEMPO_DE_ANIMA_CURA_1) { Recuperacao(); GameController.g.HudM.AtualizaHudHeroi(CriatureAlvoDoItem.MeuCriatureBase); Estado = EstadoDeUsoDeItem.finalizaUsaItem; return(false); } break; case EstadoDeUsoDeItem.finalizaUsaItem: return(false); //break; case EstadoDeUsoDeItem.nulo: Debug.Log("alcançou estado nulo para " + ID.ToString()); break; } return(true); }
private bool AtualizaUsoDaCarta() { switch (Estado) { case ItemUseState.animandoBraco: if (!AnimaB.AnimaTroca(true)) { captura = ContinhaDeCaptura(); Estado = ItemUseState.aplicandoItem; animaCap = new CaptureManager(Dono, captura); } break; case ItemUseState.aplicandoItem: if (!animaCap.Update()) { if (captura) { //MessageAgregator<MsgChangeToHero>.Publish(new MsgChangeToHero() //{ // myHero = Dono //}); //Debug.LogError("Retorna para o fluxo de heroi"); //GameController.g.RetornarParaFluxoDoHeroi(); //Estado = ItemUseState.nulo; Estado = ItemUseState.finalizaUsaItem; } else { MessageAgregator <MsgRequestEndArmsAnimations> .Publish(new MsgRequestEndArmsAnimations() { oAnimado = Dono }); (FindByOwner.GetManagerEnemy(Dono) as PetManagerEnemy).ReturnRememberedState(); Estado = ItemUseState.finalizaUsaItem; } } break; case ItemUseState.finalizaUsaItem: return(false); //break; case ItemUseState.nulo: Debug.Log("alcançou estado nulo para " + ID.ToString()); break; } return(true); }
protected bool AtualizaUsoDesseItem(GeneralParticles particula) { switch (Estado) { case ItemUseState.animandoBraco: if (!AnimaB.AnimaTroca(true)) { Estado = ItemUseState.aplicandoItem; MessageAgregator <MsgRequestEndArmsAnimations> .Publish(new MsgRequestEndArmsAnimations() { oAnimado = Dono }); //Manager.Mov.Animador.ResetaTroca(); Debug.LogError("Tudo aqui pode ser substituido por um evento enviado ao manager"); InstanceSupport.InstancieEDestrua(particula, AnimaB.PosCriature, 1); //AuxiliarDeInstancia.InstancieEDestrua(particula, CriatureAlvoDoItem.transform.position, 1); AcaoDoItemConsumivel(0); //GameController.g.HudM.AtualizeImagemDeAtivos(); //GameController.g.HudM.AtualizaDadosDaHudVida(false); } break; case ItemUseState.aplicandoItem: TempoDecorrido += Time.deltaTime; if (TempoDecorrido > TEMPO_DE_ANIMA_CURA_1) { //GameController.g.HudM.AtualizaHudHeroi(CriatureAlvoDoItem.MeuCriatureBase); Estado = ItemUseState.finalizaUsaItem; return(false); } break; case ItemUseState.finalizaUsaItem: return(false); //break; case ItemUseState.nulo: Debug.Log("alcançou estado nulo para " + ID.ToString()); break; } return(true); }
protected virtual bool AtualizaUsoDoPergaminho() { switch (Estado) { case EstadoDeUsoDeItem.selecaoDeItem: GameController.g.HudM.Menu_Basico.MudarOpcao(); if (GameController.g.CommandR.DisparaCancel()) { ActionManager.ModificarAcao(GameController.g.transform, null); GameController.g.HudM.Painel.EsconderMensagem(); GameController.g.HudM.Menu_Basico.FinalizarHud(); Estado = EstadoDeUsoDeItem.finalizaUsaItem; } else if (GameController.g.CommandR.DisparaAcao()) { OpcaoEscolhida(GameController.g.HudM.Menu_Basico.OpcaoEscolhida); } break; case EstadoDeUsoDeItem.animandoBraco: if (!AnimaB.AnimaTroca(true)) { Estado = EstadoDeUsoDeItem.aplicandoItem; Manager.Mov.Animador.ResetaTroca(); AuxiliarDeInstancia.InstancieEDestrua(Particula, GameController.g.Manager.CriatureAtivo.transform.position, 1); AplicaEfeito(GameController.g.Manager.Dados.CriaturesAtivos[opcaoEscolhida]); } break; case EstadoDeUsoDeItem.aplicandoItem: TempoDecorrido += Time.deltaTime; if (TempoDecorrido > TEMPO_DE_ANIMA_PARTICULAS) { AplicaEfeito(GameController.g.Manager.Dados.CriaturesAtivos[opcaoEscolhida]); } break; case EstadoDeUsoDeItem.finalizaUsaItem: return(false); } return(true); }
private bool AtualizaUsoDaCarta() { switch (Estado) { case EstadoDeUsoDeItem.animandoBraco: if (!AnimaB.AnimaTroca(true)) { captura = ContinhaDeCaptura(); Estado = EstadoDeUsoDeItem.aplicandoItem; animaCap = new AnimandoCaptura(captura); } break; case EstadoDeUsoDeItem.aplicandoItem: if (!animaCap.Update()) { if (captura) { GameController.g.RetornarParaFluxoDoHeroi(); Estado = EstadoDeUsoDeItem.nulo; } else { Manager.Mov.Animador.ResetaTroca(); Estado = EstadoDeUsoDeItem.finalizaUsaItem; } } break; case EstadoDeUsoDeItem.finalizaUsaItem: return(false); //break; case EstadoDeUsoDeItem.nulo: Debug.Log("alcançou estado nulo para " + ID.ToString()); break; } return(true); }
public override bool AtualizaUsoComCriature() { switch (Estado) { case EstadoDeUsoDeItem.animandoBraco: if (!AnimaB.AnimaTroca(true)) { Estado = EstadoDeUsoDeItem.aplicandoItem; //Manager.Mov.Animador.ResetaTroca(); particula = AuxiliarDeInstancia.InstancieEDestrua( DoJogo.particulaDaFuga, GameController.g.InimigoAtivo.transform.position, 100); } break; case EstadoDeUsoDeItem.aplicandoItem: TempoDecorrido += Time.deltaTime; switch (estadoDaqui) { case EstadoDaqui.particulasAtivas: int arredondado = Mathf.RoundToInt(TempoDecorrido); if (arredondado != disparado && arredondado < LOOPS) { //particulasSaiDaLuva(G.transform); animator.CrossFade("dano1", 0); animator.SetBool("dano1", true); animator.SetBool("dano2", true); disparado = arredondado; } if (arredondado >= LOOPS) { animator.SetBool("dano1", false); animator.SetBool("dano2", false); Object.Destroy(particula); if (fugiu) { animator.GetComponent <UnityEngine.AI.NavMeshAgent>().enabled = false; GameObject Gg = GameController.g.El.retorna("sucessoDaFuga"); Gg = Object.Instantiate( Gg, GameController.g.InimigoAtivo.transform.position, Quaternion.identity); Object.Destroy(Gg, 2); controle = animator.GetComponent <CharacterController>(); estadoDaqui = EstadoDaqui.rotacionando; //MonoBehaviour.Destroy(particula); TempoDecorrido = 0; } else { GameObject Gg = GameController.g.El.retorna("encontro"); Gg = Object.Instantiate( Gg, GameController.g.InimigoAtivo.transform.position, Quaternion.identity); Gg.GetComponent <ParticleSystem>().GetComponent <Renderer>().material = GameController.g.El.materiais[0]; Object.Destroy(Gg, 2); Estado = EstadoDeUsoDeItem.finalizaUsaItem; } } break; case EstadoDaqui.rotacionando: if (TempoDecorrido < TEMPO_DE_ANIMA_FUGA) { Transform transform = GameController.g.InimigoAtivo.transform; transform.Rotate(1000 * Time.deltaTime, 0, 0); controle.Move((Camera.main.transform.position - transform.position) * Time.deltaTime * 2); } else { GameController.g.RetornarParaFluxoDoHeroi(); Manager.Mov.Animador.ResetaTroca(); Estado = EstadoDeUsoDeItem.finalizaUsaItem; } break; } break; case EstadoDeUsoDeItem.finalizaUsaItem: return(false); } return(true); }