public void InserirCriatureEmJogo() { GameObject G = InicializadorDoJogo.InstanciaCriature(transform, dados.CriaturesAtivos[0]); InicializadorDoJogo.InsereCriatureEmJogo(G, this); GameController.g.HudM.InicializaPaineisCriature(this); }
void FinalizaEscolhaInicial() { gameObject.SetActive(false); CharacterManager manager = GameController.g.Manager; manager.Dados.CriaturesAtivos = new System.Collections.Generic.List <CriatureBase>() { criaturesIniciais[indiceDoSelecionado] }; GameController.g.MyKeys.MudaShift(KeyShift.estouNoTuto, false); GameObject G = InicializadorDoJogo.InstanciaCriature(manager.transform, manager.Dados.CriaturesAtivos[0]); InicializadorDoJogo.InsereCriatureEmJogo(G, manager); }
void FinalizaEscolhaInicial() { gameObject.SetActive(false); GameController.g.HudM.Painel.EsconderMensagem(); CharacterManager manager = GameController.g.Manager; manager.Dados.CriaturesAtivos = new System.Collections.Generic.List <CriatureBase>() { criaturesIniciais[indiceDoSelecionado] }; // GameController.g.MyKeys.MudaShift(KeyShift.estouNoTuto,false); GameObject G = InicializadorDoJogo.InstanciaCriature(manager.transform, manager.Dados.CriaturesAtivos[0]); InicializadorDoJogo.InsereCriatureEmJogo(G, manager); GameController.g.HudM.AtualizaDadosDaHudVida(false); npcMini.EstadoDeMostrarCaminho(); }
public bool AnimaEnvia( CriatureBase oInstanciado = null, string nomeDoGameObject = "") { tempoDecorrido += Time.deltaTime; switch (estadoEnvia) { case EstadoDoAnimaEnvia.iniciaAnimacao: tempoDecorrido = 0; animador.AnimaEnvia(); estadoEnvia = EstadoDoAnimaEnvia.animaEnvia; break; case EstadoDoAnimaEnvia.animaEnvia: if (tempoDecorrido > TEMPO_DA_ANIMA_ENVIA) { luz = ParticulasDeSubstituicao.InsereParticulaDaLuva(manager.gameObject, false); raio = ParticulasDeSubstituicao.InsereParticulaDoRaio(posCriature, manager.gameObject, false); estadoEnvia = EstadoDoAnimaEnvia.Instancia; tempoDecorrido = 0; } break; case EstadoDoAnimaEnvia.Instancia: if (tempoDecorrido > TEMPO_PARA_INSTANCIAR_CRIATURE) { if (oInstanciado == null && manager != null) { oInstanciado = manager.Dados.CriaturesAtivos[0]; } C = elementosDoJogo.el.retorna(oInstanciado.NomeID); posCriature = MelhoraInstancia.ProcuraPosNoMapa(posCriature); C = (GameObject)MonoBehaviour.Instantiate(C, posCriature, Quaternion.identity); C.transform.parent = elementosDoJogo.el.transform; if (nomeDoGameObject == "" && manager != null) { InicializadorDoJogo.InsereCriatureEmJogo(C, manager); } C.transform.localScale = new Vector3(0.01f, 0.01f, 0.01f); ParticulasDeSubstituicao.ParticulaSaiDaLuva(posCriature); tempoDecorrido = 0; estadoEnvia = EstadoDoAnimaEnvia.AumentaEscala; } break; case EstadoDoAnimaEnvia.AumentaEscala: if (C.transform.localScale.sqrMagnitude < 2.5f) { C.transform.localScale = Vector3.Lerp(C.transform.localScale, new Vector3(1, 1, 1), 4 * Time.deltaTime); C.transform.position = posCriature; } else { C.transform.localScale = new Vector3(1, 1, 1); estadoEnvia = EstadoDoAnimaEnvia.finalizaEnvia; tempoDecorrido = 0; } break; case EstadoDoAnimaEnvia.finalizaEnvia: if (tempoDecorrido < TEMPO_PARA_FINALISAR_RAIO) { ParticulasDeSubstituicao.ReduzVelocidadeDoRaio(raio); } else { MonoBehaviour.Destroy(raio); MonoBehaviour.Destroy(luz); return(false); } break; } return(true); }
public bool AnimaEnvia( CriatureBase oInstanciado = null, string nomeDoGameObject = "") { tempoDecorrido += Time.deltaTime; switch (estadoEnvia) { case EstadoDoAnimaEnvia.iniciaAnimacao: tempoDecorrido = 0; animador.AnimaEnvia(); estadoEnvia = EstadoDoAnimaEnvia.animaEnvia; break; case EstadoDoAnimaEnvia.animaEnvia: //if (tempoDecorrido > ((treinador)?TEMPO_DA_ANIMA_ENVIA_TREINADOR:TEMPO_DA_ANIMA_ENVIA)) AnimatorStateInfo A = oAnimado.GetComponent <Animator>().GetCurrentAnimatorStateInfo(0); if (A.IsName("enviaCriature") && A.normalizedTime >= 1) { luz = ParticulasDeSubstituicao.InsereParticulaDaLuva(oAnimado.gameObject, false); raio = ParticulasDeSubstituicao.InsereParticulaDoRaio(posCriature, oAnimado.gameObject, false); estadoEnvia = EstadoDoAnimaEnvia.Instancia; tempoDecorrido = 0; } break; case EstadoDoAnimaEnvia.Instancia: if (tempoDecorrido > TEMPO_PARA_INSTANCIAR_CRIATURE) { if (oInstanciado == null && !treinador) { oInstanciado = GameController.g.Manager.Dados.CriaturesAtivos[0]; } if (!treinador) { C = GameController.g.El.retorna(oInstanciado.NomeID); posCriature = MelhoraInstancia.ProcuraPosNoMapa(posCriature); C = (GameObject)MonoBehaviour.Instantiate(C, posCriature, Quaternion.identity); C.transform.parent = GameController.g.transform; } Debug.Log(nomeDoGameObject + " : " + treinador); if (nomeDoGameObject == "" && !treinador) { InicializadorDoJogo.InsereCriatureEmJogo(C, GameController.g.Manager); } else if (treinador) { Debug.Log("inimigo"); C = InsereInimigoEmCampo.RetornaInimigoEmCampo(oInstanciado).gameObject; posCriature = MelhoraInstancia.ProcuraPosNoMapa(posCriature); C.name = nomeDoGameObject != "" ? nomeDoGameObject : "Inimigo"; } C.transform.localScale = new Vector3(0.01f, 0.01f, 0.01f); ParticulasDeSubstituicao.ParticulaSaiDaLuva(posCriature); tempoDecorrido = 0; estadoEnvia = EstadoDoAnimaEnvia.AumentaEscala; } break; case EstadoDoAnimaEnvia.AumentaEscala: if (!treinador) { GameController.g.Manager.CriatureAtivo.GetComponent <UnityEngine.AI.NavMeshAgent>().enabled = false; } if (C.transform.localScale.sqrMagnitude < 2.5f) { C.transform.localScale = Vector3.Lerp(C.transform.localScale, new Vector3(1, 1, 1), 4 * Time.deltaTime); C.transform.position = posCriature; } else { C.transform.localScale = new Vector3(1, 1, 1); estadoEnvia = EstadoDoAnimaEnvia.finalizaEnvia; tempoDecorrido = 0; } break; case EstadoDoAnimaEnvia.finalizaEnvia: if (tempoDecorrido < TEMPO_PARA_FINALISAR_RAIO) { if (!treinador) { GameController.g.Manager.CriatureAtivo.GetComponent <UnityEngine.AI.NavMeshAgent>().enabled = true; } ParticulasDeSubstituicao.ReduzVelocidadeDoRaio(raio); } else { if (treinador) { animador.ResetaEnvia(); animador.ResetaTroca(); } MonoBehaviour.Destroy(raio); MonoBehaviour.Destroy(luz); return(false); } break; } return(true); }