bool PodeUsar() { //(AbstractGlobalController.Instance.Players[0].Manager as CharacterManager).ActivePet.Mov.LockTarget //if (GameController.g.estaEmLuta && !GameController.g.ContraTreinador) if (FindByOwner.GetEnemy(Dono)) { return(true); } return(false); }
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); }
public CaptureManager(GameObject dono, bool iraCapturar) { this.dono = dono; this.iraCapturar = iraCapturar; CriatureAlvoDoItem = FindByOwner.GetEnemy(dono).gameObject; //animator = CriatureAlvoDoItem.GetComponent<Animator>(); CameraApplicator.cam.StartShowPointCamera(CriatureAlvoDoItem.transform, new SinglePointCameraProperties() { velOrTimeFocus = .85f, withTime = true }); //AplicadorDeCamera.cam.InicializaCameraExibicionista(CriatureAlvoDoItem.transform);asd }
private void IniciaUsoDaCarta() { if (PodeUsar()) { //Manager = GameController.g.Manager; Estado = ItemUseState.animandoBraco; RetirarUmItem(Lista, this, 1); PetManagerEnemy P = FindByOwner.GetManagerEnemy(Dono) as PetManagerEnemy; if (P) { InicializacaoComum(Dono, P.transform /*GameController.g.InimigoAtivo.transform*/); P.StopWithRememberedState(); } else { Debug.LogError("Uma mensagem para criature não focado"); } } else { Estado = ItemUseState.finalizaUsaItem; MessageAgregator <MsgRequestRapidInfo> .Publish(new MsgRequestRapidInfo() { message = TextBank.RetornaFraseDoIdioma(TextKey.mensLuta) }); Debug.LogError("Uma mensagem de não pode usar"); if (!FindByOwner.GetManagerEnemy(Dono)) { MessageAgregator <MsgRequestRapidInfo> .Publish(new MsgRequestRapidInfo() { message = TextBank.RetornaListaDeTextoDoIdioma(TextKey.mensLuta)[5] }); } //if (!GameController.g.estaEmLuta) // GameController.g.HudM.Painel.AtivarNovaMens(BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.mensLuta)[0], 30, 7); //else if (GameController.g.ContraTreinador) // GameController.g.HudM.Painel.AtivarNovaMens(BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.mensLuta)[3], 30, 7); } }
bool ContinhaDeCaptura() { return(true); int vida = FindByOwner.GetManagerEnemy(Dono).MeuCriatureBase.PetFeat.meusAtributos.PV.Corrente; bool retorno = false; if (vida == 2) { float x = Random.value; if (x > 0.75f) { retorno = true; } else { retorno = false; } Debug.Log("dois pontos de vida: " + x); } if (vida == 1) { float y = Random.value; if (y > 0.25f) { retorno = true; } else { retorno = false; } } return(retorno); }
void PreparaFinalSemCaptura() { ParticleOfSubstitution.ParticulaSaiDaLuva(CriatureAlvoDoItem.transform.position, GeneralParticles.captureEscape); CriatureAlvoDoItem.transform.localScale = new Vector3(1, 1, 1); //animator.SetBool("dano1", false); //animator.SetBool("dano2", false); MessageAgregator <MsgEndDamageState> .Publish(new MsgEndDamageState() { gameObject = CriatureAlvoDoItem }); Debug.LogError("ota HUd"); MessageAgregator <MsgRequestRapidInfo> .Publish(new MsgRequestRapidInfo() { message = string.Format(TextBank.RetornaFraseDoIdioma(TextKey.tentaCapturar), PetBase.NomeEmLinguas(FindByOwner.GetManagerEnemy(dono).MeuCriatureBase.NomeID)) }); //GameController.g.HudM.Painel.AtivarNovaMens( // GameController.g.InimigoAtivo.MeuCriatureBase.NomeEmLinguas + BancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.tentaCapturar), // 24, 5); }
// Update is called once per frame public bool Update() { tempoDecorrido += Time.deltaTime; switch (fase) { case FaseDoAnimaCaptura.inicial: PetManager enemyManager = FindByOwner.GetManagerEnemy(dono); //AplicadorDeCamera.cam.FocarPonto(10, enemyManager.MeuCriatureBase.distanciaCameraLuta); CameraApplicator.cam.FocusInPoint(enemyManager.MeuCriatureBase.distanciaCameraLuta); int arredondado = Mathf.RoundToInt(tempoDecorrido); Vector3 variacao = arredondado % 2 == 1 ? Vector3.zero : new Vector3(1.5f, 1.5f, 1.5f); if (arredondado != disparado && arredondado < LOOPS) { ParticleOfSubstitution.ParticulaSaiDaLuva(CriatureAlvoDoItem.transform.position); MessageAgregator <MsgRequestDamageAnimateWithFade> .Publish( new MsgRequestDamageAnimateWithFade() { animatePet = enemyManager.gameObject } ); //animator.CrossFade("dano1", 0); //animator.SetBool("dano1", true); //animator.SetBool("dano2", true); disparado = arredondado; } if (arredondado >= LOOPS) { if (iraCapturar) { PreparaFinalComCaptura(); fase = FaseDoAnimaCaptura.cameraDoHeroi; } else { PreparaFinalSemCaptura(); fase = FaseDoAnimaCaptura.finalizaSemCapturar; } tempoDecorrido = 0; } CriatureAlvoDoItem.transform.localScale = Vector3.Lerp( CriatureAlvoDoItem.transform.localScale, variacao, Time.deltaTime); break; case FaseDoAnimaCaptura.finalizaSemCapturar: if (tempoDecorrido > 1) { return(false); } break; case FaseDoAnimaCaptura.cameraDoHeroi: if (tempoDecorrido > 1.5f) { CameraApplicator.cam.StartShowPointCamera(dono.transform, new SinglePointCameraProperties() { velOrTimeFocus = .85f, characterHeight = 1.75f, withTime = true }); //AplicadorDeCamera.cam.InicializaCameraExibicionista(GameController.g.Manager.transform); fase = FaseDoAnimaCaptura.animaPersonagemCapturando; tempoDecorrido = 0; } break; case FaseDoAnimaCaptura.animaPersonagemCapturando: if (tempoDecorrido > 1) { PetManager P = FindByOwner.GetManagerEnemy(dono); animaPose = new AnimateCapturePose(P.MeuCriatureBase, dono); MonoBehaviour.Destroy(P.gameObject); fase = FaseDoAnimaCaptura.finalizaCapturando; } break; case FaseDoAnimaCaptura.finalizaCapturando: if (!animaPose.Update()) { return(false); } break; } return(true); }