void Update() { switch (fase) { case FasesDesseTrigger.movimentoDePersonagem: CaminheHeroi(transform.position); break; case FasesDesseTrigger.movimentoDeCamera: CameraAteFalas(); break; case FasesDesseTrigger.falas: if (DisparaT.UpdateDeTextos(T, Fota)) { movNPC = new MovimentoControladoParaNPC(); movNPC.InsereElementosDeControle(Alvo.gameObject, alvoDaCaminhada); AplicadorDeCamera.cam.FocarBasica(Alvo, 10, 10); fase = FasesDesseTrigger.npcEmMovimento; } break; case FasesDesseTrigger.npcEmMovimento: if (movNPC.UpdatePosition()) { AplicadorDeCamera.cam.FocarBasica(Manager.transform, 10, 10); Invoke("MudaPosDoNPC", 0.25f); Invoke("VoltaControleDoHeroi", 0.3f); Destroy(Destrutivel.gameObject); fase = FasesDesseTrigger.finalizar; } break; } }
void EntrarNaFaseDoEmpurrao() { Manager.Estado = EstadoDePersonagem.parado; Manager.Mov.AplicadorDeMovimentos(Vector3.zero); Manager.Mov.Animador.AnimaEmpurra(); Manager.transform.rotation = Quaternion.identity; AplicadorDeCamera.cam.FocarBasica(Manager.transform, 10, 7); fase = FasesDesseTrigger.empurrando; Alvo.rotation = Quaternion.identity; Vector3 V = Alvo.position; Alvo.position = new Vector3(V.x, V.y, Manager.transform.position.z); movNPC = new MovimentoControladoParaNPC(); movNPC.InsereElementosDeControle(Alvo.gameObject, segundoPontoParaNPC); //movNPC.Mov.AplicadorDeMovimentos(Vector3.zero); movNPC.Mov.Animador.AnimaEmpurra(); Manager.transform.SetParent(pedraRemovivel); Alvo.parent = pedraRemovivel; }