protected void InicializacaoComum(GameObject dono, Transform alvoDoItem) { TempoDecorrido = 0; Manager.Estado = EstadoDePersonagem.parado; Manager.CriatureAtivo.PararCriatureNoLocal(); Manager.Mov.Animador.PararAnimacao(); if (GameController.g.estaEmLuta) { GameController.g.InimigoAtivo.PararCriatureNoLocal(); } AnimaB = new AnimaBraco(Manager, alvoDoItem); }
public ReplaceManager(CharacterManager manager, Transform alvo, FluxoDeRetorno fluxo) { this.fluxo = fluxo; this.manager = manager; List <CriatureBase> lista = manager.Dados.CriaturesAtivos; CriatureBase temp = lista[0]; lista[0] = lista[manager.Dados.CriatureSai]; lista[manager.Dados.CriatureSai] = temp; manager.Estado = EstadoDePersonagem.parado; manager.CriatureAtivo.PararCriatureNoLocal(); manager.Mov.Animador.PararAnimacao(); GameController.g.HudM.MenuDeI.FinalizarHud(); PainelMensCriature.p.EsconderMensagem(); estouTrocandoDeCriature = true; animaB = new AnimaBraco(manager, alvo); }
bool UpdateInterno() { switch (estadoInterno) { case EstadoInterno.animacaoDeEncontro: tempoDecorrido += Time.deltaTime; if (tempoDecorrido > 0.5F) { estadoInterno = EstadoInterno.cameraNoTreinador; } break; case EstadoInterno.perguntaParaIniciar: if (!GameController.g.HudM.DisparaT.LendoMensagemAteOCheia()) { GameController.g.HudM.Menu_Basico.IniciarHud(IniciarOuNao, BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.simOuNao).ToArray()); estadoInterno = EstadoInterno.esperandoResposta; } break; case EstadoInterno.esperandoResposta: GameController.g.HudM.Menu_Basico.MudarOpcao(); if (GameController.g.CommandR.DisparaAcao()) { estadoInterno = EstadoInterno.emEspera; IniciarOuNao(GameController.g.HudM.Menu_Basico.OpcaoEscolhida); } break; case EstadoInterno.cameraNoTreinador: if (AplicadorDeCamera.cam.FocarPonto(-2 * Vector3.up, 1, 6, 4, true)) { disparaT = GameController.g.HudM.DisparaT; disparaT.IniciarDisparadorDeTextos(); conversa = BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.frasesDaLutaContraTreinador).ToArray(); conversa = new string[2] { string.Format(conversa[0], criaturesDoTreinador.Length), conversa[1] }; estadoInterno = EstadoInterno.frasePreInicio; } break; case EstadoInterno.frasePreInicio: if (disparaT.UpdateDeTextos(conversa)) { animaB = new AnimaBraco(MeuTransform, GameController.g.Manager.transform, true); Transform aux = GameController.g.Manager.CriatureAtivo.transform; animaB.PosCriature = aux.position + 3 * aux.forward; estadoInterno = EstadoInterno.animandoBraco; AplicadorDeCamera.cam.DesligarMoveCamera(); } break; case EstadoInterno.animandoBraco: if (!animaB.AnimaEnvia(criaturesDoTreinador[indiceDoEnviado].C, "criatureDeTreinador")) { GameController.g.EncontroAgoraCom( criaturesDoTreinador[indiceDoEnviado].PrepararInicioDoCriature( GameObject.Find("criatureDeTreinador").GetComponent <CreatureManager>()), true, nomeDoTreinador); estadoInterno = EstadoInterno.leituraDeLuta; } break; case EstadoInterno.leituraDeLuta: if (GameController.g.InimigoAtivo == null) { indiceDoEnviado++; if (indiceDoEnviado < criaturesDoTreinador.Length) { conversa = BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.frasesDaLutaContraTreinador).ToArray(); conversa = new string[2] { conversa[2], conversa[3] }; disparaT.IniciarDisparadorDeTextos(); AplicadorDeCamera.cam.InicializaCameraExibicionista(MeuTransform, 1, true); estadoInterno = EstadoInterno.novoJogoDeCamera; } else { AplicadorDeCamera.cam.InicializaCameraExibicionista(MeuTransform, 1, true); conversa = StringParaEnum.SetarConversaOriginal(chaveDaFinalizacaoString, ref chaveDaFinalizacao); disparaT.IniciarDisparadorDeTextos(); estadoInterno = EstadoInterno.fraseDaFinalizacao; } } break; case EstadoInterno.novoJogoDeCamera: if (AplicadorDeCamera.cam.FocarPonto(1, 6, 4, true)) { estadoInterno = EstadoInterno.frasePreInicio; } break; case EstadoInterno.fraseDaFinalizacao: if (AplicadorDeCamera.cam.FocarPonto(1, 6, 4, true)) { if (disparaT.UpdateDeTextos(conversa)) { if (recompensas.Length <= 0) { estadoInterno = EstadoInterno.finalizacao; } else { conversa = BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.bau).ToArray(); indiceDoEnviado = 0; VerificaItem(); estadoInterno = EstadoInterno.verificandoMaisItens; } } } break; case EstadoInterno.verificandoMaisItens: if (Input.GetButtonDown("Acao")) { if (indiceDoEnviado + 1 > recompensas.Length) { GameController.g.HudM.Painel.EsconderMensagem(); GameController.g.HudM.MostrarItem.DesligarPainel(); estadoInterno = EstadoInterno.finalizacao; } else { VerificaItem(); } ActionManager.anularAcao = true; } break; case EstadoInterno.finalizacao: estado = EstadoDoNPC.finalizadoComBotao; estadoInterno = EstadoInterno.emEspera; GameController.g.MyKeys.MudaShift(chaveDaLuta, true); GameController.g.RetornarParaFluxoDoHeroi(true); return(true); //break; } return(false); }