public static void adicionaOColisor(acaoDeGolpe aG, Transform T, float tempoDecorrido, nomesGolpes nomeColisor, string nomeTrail, float tempoDestroy, string noImpacto = "impactoComum", bool parentearNoOsso = true, Quaternion Q = default(Quaternion)) { GameObject view = elementosDoJogo.el.retornaColisor(nomeTrail); // print(nomeColisor); colisor C = pegueOColisor(nomeColisor, aG.GetComponent <umCriature>().X); // = new colisor(); if (C.osso == "erroColisor") { return; } GameObject view2 = aG.facaInstantiate(view, C.deslColisor, Q); if (parentearNoOsso) { view2.transform.parent = T.Find(C.osso).transform; } else { view2.transform.parent = T; } view2.transform.localPosition = C.deslTrail; view2.transform.localRotation = view.transform.rotation; view2.GetComponent <BoxCollider>().center = C.deslColisor; view2.name = "colisor" + nomeColisor; /* * PARA DESTUIR O COLISOR . * QUANDO O GOLPE ERA INTERROMPIDO * O COLISOR PERMANECIA NO PERSONAGEM */ aG.facaDestroy(view2, tempoDestroy - tempoDecorrido); /*************************************************************/ projetil proj = view2.AddComponent <projetil>(); proj.velocidadeProjetil = 0f; proj.noImpacto = noImpacto; proj.dono = T.gameObject; // proj.forcaDoDano = 25f; //addView = true; }
public static void AdicionaOColisor(GameObject G, PetAttackBase golpeAtivo, ImpactFeatures caracteristica, float tempoDecorrido) { GameObject view = Resources.Load <GameObject>("DamageColliders/" + caracteristica.nomeTrail.ToString()); //GameObject view = GameController.g.El.retornaColisor(caracteristica.nomeTrail); // print(nomeColisor); colisor C = GetCollider(G, golpeAtivo.Nome);// = new colisor(); GameObject view2 = (GameObject)MonoBehaviour.Instantiate(view, C.deslColisor, Quaternion.identity); view2.transform.localRotation = view.transform.rotation; if (caracteristica.parentearNoOsso) { view2.transform.parent = G.transform.Find(C.osso).transform; } else { view2.transform.parent = G.transform; } view2.transform.localPosition = C.deslTrail; view2.transform.localRotation = view.transform.rotation; view2.GetComponent <BoxCollider>().center = C.deslColisor; view2.name = "colisor" + golpeAtivo.Nome.ToString(); view2.transform.localScale *= (golpeAtivo.ColisorScale * C.ColisorScale); /* * PARA DESTUIR O COLISOR . * QUANDO O GOLPE ERA INTERROMPIDO * O COLISOR PERMANECIA NO PERSONAGEM */ MonoBehaviour.Destroy(view2, golpeAtivo.TempoDeDestroy - tempoDecorrido); /*************************************************************/ DamageCollider proj = view2.AddComponent <DamageCollider>(); proj.velocidadeProjetil = 0f; proj.noImpacto = caracteristica.noImpacto; proj.dono = G; proj.esseGolpe = golpeAtivo; // proj.forcaDoDano = 25f; //addView = true; }
public static void AdicionaOColisor(GameObject G, IGolpeBase golpeAtivo, CaracteristicasDeImpacto caracteristica, float tempoDecorrido) { GameObject view = elementosDoJogo.el.retornaColisor(caracteristica.nomeTrail); // print(nomeColisor); colisor C = pegueOColisor(G, golpeAtivo.Nome);// = new colisor(); GameObject view2 = (GameObject)MonoBehaviour.Instantiate(view, C.deslColisor, view.transform.rotation); if (caracteristica.parentearNoOsso) { view2.transform.parent = G.transform.Find(C.osso).transform; } else { view2.transform.parent = G.transform; } view2.transform.localPosition = C.deslTrail; view2.transform.localRotation = view.transform.rotation; view2.GetComponent <BoxCollider>().center = C.deslColisor; view2.name = "colisor" + golpeAtivo.Nome.ToString(); view2.transform.localScale *= (golpeAtivo.ColisorScale * C.ColisorScale); /* * PARA DESTUIR O COLISOR . * QUANDO O GOLPE ERA INTERROMPIDO * O COLISOR PERMANECIA NO PERSONAGEM */ MonoBehaviour.Destroy(view2, golpeAtivo.TempoDeDestroy - tempoDecorrido); /*************************************************************/ ColisorDeDano proj = view2.AddComponent <ColisorDeDano>(); proj.velocidadeProjetil = 0f; proj.noImpacto = caracteristica.noImpacto; proj.dono = G; proj.esseGolpe = golpeAtivo; // proj.forcaDoDano = 25f; //addView = true; }
public static colisor pegueOColisor(nomesGolpes nomeColisor, Criature XX) { colisor C = new colisor(); /* * Quando e feito um saveGame o Criature e salvo em essencia como esta no script, * isso inclui os colisores, * se algum golpe for inserido apos esse save e um novo colisor for inserido * o novo colisor nao aparece no jogo salvo * * Para corrigir isso inseri essa linha que questiona a existencia do colisor */ if (XX.colisores.ContainsKey(nomeColisor)) { C = XX.colisores[nomeColisor]; } else { Criature XXX = new cCriature(XX.nomeID).criature(); /* * Essa linha verifica a existencia do colisor no script desse Criature, * se existir insere no criature que lançou o golpe * se nao existir da uma mensagem de atençao */ if (XXX.colisores.ContainsKey(nomeColisor)) { XX.colisores.Add(nomeColisor, XXX.colisores[nomeColisor]); } else { Debug.LogWarning("O Colisor com o nome \"" + nomeColisor + "\" nao foi encontrado para " + XX.Nome); return(new colisor("erroColisor")); } } return(C); }
public colisor(string _osso, float colisorScale) { this = new colisor(_osso, Vector3.zero, Vector3.zero, colisorScale); }
colisor pegueOColisor(nomesGolpes nomeColisor) { colisor C = new colisor(); Criature XX = GetComponent<umCriature>().criature(); /* Quando e feito um saveGame o Criature e salvo em essencia como esta no script, isso inclui os colisores, se algum golpe for inserido apos esse save e um novo colisor for inserido o novo colisor nao aparece no jogo salvo Para corrigir isso inseri essa linha que questiona a existencia do colisor */ if(XX.colisores.ContainsKey(nomeColisor)) C = XX.colisores[nomeColisor]; else{ Criature XXX = new cCriature(XX.nomeID).criature(); /* Essa linha verifica a existencia do colisor no script desse Criature, se existir insere no criature que lançou o golpe se nao existir da uma mensagem de atençao */ if(XXX.colisores.ContainsKey(nomeColisor)) XX.colisores.Add(nomeColisor,XXX.colisores[nomeColisor] ); else{ Debug.LogWarning("O Colisor com o nome \""+nomeColisor+"\" nao foi encontrado para "+XX.Nome); return new colisor("erroColisor"); } } return C; }