/// <summary> /// activa efecto para reducir vida despues del final secuencuencia batalla /// </summary> /// <param name="QuienAtaca"></param> /// <param name="BehaviourCall"></param> /// <param name="Crw"></param> /// <returns></returns> public static IEnumerator ReduceHp(bool TwovsTwo, string QuienAtaca, MonoBehaviour BehaviourCall, CrewildBase Crw) { // animacion Veneno libreriaDeScrips libreriaS = GameObject.FindObjectOfType <libreriaDeScrips>(); libreriaS.Batalla.GetComponent <animationScritpBatle>().TextoDeBatalla[0] = "Envenenamiento reduce la vitalidad"; libreriaS.Batalla.GetComponent <animationScritpBatle>().text.text = ""; libreriaS.Batalla.GetComponent <animationScritpBatle>().NoPauseTexto = true; libreriaS.Batalla.GetComponent <animationScritpBatle>().dialogue = true; yield return(new WaitWhile(() => libreriaS.Batalla.GetComponent <animationScritpBatle>().dialogue == true)); BehaviourCall.StartCoroutine(SecuenciasAux.EnvenenamientoEfecto(SecuenciasAux.RetornarObjImageBattleInversa(TwovsTwo, QuienAtaca))); CalculoDaño.PausaEjecucionEvento = true; yield return(new WaitWhile(() => CalculoDaño.PausaEjecucionEvento == true)); CalculoDaño.PausaEjecucionEvento = true; float Daño = Crw.hpTotal * 0.2f; Daño = (int)Daño; BehaviourCall.StartCoroutine(CalculoDaño.EjecutarDañoInvertido(QuienAtaca, Daño)); yield return(new WaitWhile(() => CalculoDaño.PausaEjecucionEvento == true)); libreriaS.Batalla.GetComponent <animationScritpBatle>().pausaIenumerator = false; libreriaS.Batalla.GetComponent <animationScritpBatle>().NoPauseTexto = false; }
/// <summary> /// efcctos en modo batalla /// </summary> public override IEnumerator Funcionbatalla(DefiniteObject quienEsAtacante, DefiniteObject quienEsAtacado, Animation AnimationBatalla) { cantidad--; cantidadText.text = "" + cantidad; metodosItens.InstanciaAnimacionObjeto(quienEsAtacante, this.Animationparticle); AudioClip clip1 = (AudioClip)Resources.Load("Audios/batalla/Recuperacion de energia"); AnimationBatalla.GetComponent <animationScritpBatle>().AudioVfx.PlayOneShot(clip1); //Incrementador item float auxIncrfementador = 0; if (quienEsAtacante == DefiniteObject.Player) { // Recuperador Hp while (auxIncrfementador <= this.puntosefectos) { //salle si el p es mayor o igual 0 if ( LibreriaS.informacionCrewild.CrewillInstancia[LibreriaS.Batalla.SobrequienRecaeEfectoItem].Hp >= LibreriaS.informacionCrewild.CrewillInstancia[LibreriaS.Batalla.SobrequienRecaeEfectoItem].hpTotal ) { break; } LibreriaS.Batalla.HpScrollbar[1].size = LibreriaS.informacionCrewild.CrewillInstancia[LibreriaS.Batalla.SobrequienRecaeEfectoItem].Hp / LibreriaS.informacionCrewild.CrewillInstancia[LibreriaS.Batalla.SobrequienRecaeEfectoItem].hpTotal; CalculoDaño.ActualizahpNormal(quienEsAtacante.ToString()); auxIncrfementador += 0.4f + Time.deltaTime; LibreriaS.informacionCrewild.CrewillInstancia[LibreriaS.Batalla.SobrequienRecaeEfectoItem].Hp += 0.4f + Time.deltaTime; yield return(new WaitForSeconds(0.1f)); } CalculoDaño.ActualizahpNormal(quienEsAtacante.ToString()); //regulador de Hp LibreriaS.informacionCrewild.CrewillInstancia[LibreriaS.Batalla.SobrequienRecaeEfectoItem].Hp = (int)LibreriaS.informacionCrewild.CrewillInstancia[LibreriaS.Batalla.SobrequienRecaeEfectoItem].Hp; LibreriaS.Batalla.HpScrollbar[1].size = LibreriaS.informacionCrewild.CrewillInstancia[LibreriaS.Batalla.SobrequienRecaeEfectoItem].Hp / LibreriaS.informacionCrewild.CrewillInstancia[LibreriaS.Batalla.SobrequienRecaeEfectoItem].hpTotal; auxIncrfementador = 0; // continua batalla LibreriaS.Batalla.pausaIenumerator = false; } else if (quienEsAtacante == DefiniteObject.Enemy) { } yield return(new WaitForSeconds(0.5f)); yield return(null); }
public override IEnumerator AnimationBrawler(bool TwovsTwo, string QuienAtaca, Animation animationBrawler, string NombreDelAtaque, MonoBehaviour BehaviourCall) { if (TwovsTwo == false) { //ataca de espalda if (QuienAtaca == "Player") { animationBrawler.AddClip(this.animaBattle[0], "Attack"); } //ataca de frente else if (QuienAtaca == "Enemy") { animationBrawler.AddClip(this.animaBattle[1], "Attack"); } } else if (TwovsTwo == true) { // sin implementaciontodavia } animationBrawler.Play("Attack"); libreriaAnimaciones lAnimacionesAux = animationBrawler.GetComponent <libreriaAnimaciones>(); yield return(new WaitWhile(() => lAnimacionesAux.Disparador == false)); lAnimacionesAux.Disparador = false; // sonido de impacto AudioClip clip1 = (AudioClip)Resources.Load("Audios/batalla/Hit_Hurt2"); animationBrawler.GetComponent <animationScritpBatle>().AudioVfx.PlayOneShot(clip1); //define el daño y ejecuta el efecto float Daño = CalculoDaño.CalcularDaño(QuienAtaca, NombreDelAtaque); Daño = (int)Daño; Debug.Log("valor del daño : " + Daño); BehaviourCall.StartCoroutine(CalculoDaño.EjecutarDaño(QuienAtaca, Daño)); //salir de la seccuencia yield return(new WaitWhile(() => CalculoDaño.PausaEjecucionEvento == true)); yield return(new WaitWhile(() => lAnimacionesAux.Disparador == false)); lAnimacionesAux.Disparador = false; animationBrawler.GetComponent <animationScritpBatle>().pausaIenumerator = false; yield return(0); }
public override IEnumerator AnimationBrawler(bool TwovsTwo, string QuienAtaca, Animation animationBrawler, string NombreDelAtaque, MonoBehaviour BehaviourCall) { Vector2 PosicionRefec = Vector2.zero; libreriaDeScrips libreriaS = GameObject.FindObjectOfType <libreriaDeScrips>(); RectTransform ObjetoInsta = null; PosicionRefec = new Vector2(-144f, -74f); // animationBrawler.AddClip(this.animaBattle[0], "Attack"); UnityEngine.UI.Image ImagenPersonaje = null; if (TwovsTwo == false) { //ataca de espalda if (QuienAtaca == "Player") { ImagenPersonaje = animationBrawler.GetComponent <animationScritpBatle>().ImagenEnemigo; animationBrawler.AddClip(this.animaBattle[0], "Attack"); PosicionRefec = new Vector2(151f, 81f); } //ataca de frente else if (QuienAtaca == "Enemy") { ImagenPersonaje = animationBrawler.GetComponent <animationScritpBatle>().imagenePlayer; animationBrawler.AddClip(this.animaBattle[1], "Attack"); PosicionRefec = new Vector2(-236.1f, -115.3f); } } else if (TwovsTwo == true) { // sin implementaciontodavia } animationBrawler.Play("Attack"); yield return(new WaitWhile(() => animationBrawler.GetComponent <libreriaAnimaciones>().Disparador == false)); animationBrawler.GetComponent <libreriaAnimaciones>().Disparador = false; //Parpadeo BehaviourCall.StartCoroutine(SecuenciasAux.SecunciaDaño(ImagenPersonaje)); //audio hit AudioClip clip1 = (AudioClip)Resources.Load("Audios/batalla/Hit_Hurt2"); animationBrawler.GetComponent <animationScritpBatle>().AudioVfx.PlayOneShot(clip1); ObjetoInsta = CrearObjetos.CrearObjeto("Prefac/Batalla/MegaPuño", "MegaPuño", PosicionRefec); //define el daño y ejecuta el efecto float Daño = CalculoDaño.CalcularDañoEspecial(QuienAtaca, NombreDelAtaque); Daño = (int)Daño; Debug.Log("valor del daño : " + Daño); BehaviourCall.StartCoroutine(CalculoDaño.EjecutarDaño(QuienAtaca, Daño)); yield return(new WaitForSeconds(0.25f)); MonoBehaviour.Destroy(ObjetoInsta.gameObject); yield return(new WaitForSeconds(1f)); //salir de la seccuencia yield return(new WaitWhile(() => CalculoDaño.PausaEjecucionEvento == true)); // animationBrawler.GetComponent<animationScritpBatle>().dialogue = true; animationBrawler.GetComponent <animationScritpBatle>().TextoDeBatalla[0] = ""; animationBrawler.GetComponent <animationScritpBatle>().text.text = ""; animationBrawler.GetComponent <animationScritpBatle>().dialogue = true; animationBrawler.GetComponent <animationScritpBatle>().pausaIenumerator = false; yield return(0); }
/// <summary> /// se efectua el daño de manera 1 1 con respeto a la tipo de atacante /// </summary> /// <param name="Atancante"></param> /// <param name="ValorArecuperar"></param> /// <returns></returns> public static IEnumerator EjecutarRecuperaHpInvertido(string Atancante, float ValorArecuperar) { // se le resta 1 para que el valor de exactamente con la cantidad de daño restada ValorArecuperar--; libreriaDeScrips LibreriaS = FindObjectOfType <libreriaDeScrips>(); RecuperaHp.PausaEjecucionEvento = true; float Incrementador = 0; if (Atancante == "Enemy") { // Time.deltaTime / VelocidadDecremento // LibreriaS.Batalla.ImagenEnemigo.sprite = LibreriaS.Batalla.EnemigosBatalla[LibreriaS.Batalla.ActualSeNumEnemy].animaCrewildFrentre[1]; while (ValorArecuperar > Incrementador) { if (LibreriaS.Batalla.EnemigosBatalla[LibreriaS.Batalla.ActualSeNumEnemy].Hp >= LibreriaS.Batalla.EnemigosBatalla[LibreriaS.Batalla.ActualSeNumEnemy].hpTotal) { break; } LibreriaS.Batalla.EnemigosBatalla[LibreriaS.Batalla.ActualSeNumEnemy].Hp += Time.deltaTime / velDaño; LibreriaS.Batalla.HpScrollbar[0].size = LibreriaS.Batalla.EnemigosBatalla[LibreriaS.Batalla.ActualSeNumEnemy].Hp / LibreriaS.Batalla.EnemigosBatalla[LibreriaS.Batalla.ActualSeNumEnemy].hpTotal; CalculoDaño.ActualizahpNormal(Atancante); Incrementador += Time.deltaTime / velDaño; yield return(null); } LibreriaS.Batalla.EnemigosBatalla[LibreriaS.Batalla.ActualSeNumEnemy].Hp = (int)LibreriaS.Batalla.EnemigosBatalla[LibreriaS.Batalla.ActualSeNumEnemy].Hp; if (LibreriaS.Batalla.EnemigosBatalla[LibreriaS.Batalla.ActualSeNumEnemy].Hp > 0) { LibreriaS.Batalla.ImagenEnemigo.sprite = LibreriaS.Batalla.EnemigosBatalla[LibreriaS.Batalla.ActualSeNumEnemy].animaCrewildFrentre[0]; } } else if (Atancante == "Player") { // Time.deltaTime / VelocidadDecremento //LibreriaS.Batalla.imagenePlayer.sprite = LibreriaS.informacionCrewild.CrewillInstancia[LibreriaS.Batalla.ActualSelNumPlayer].animaCrewildEspalda[1]; while (ValorArecuperar > Incrementador) { if (LibreriaS.informacionCrewild.CrewillInstancia[LibreriaS.Batalla.ActualSelNumPlayer].Hp >= LibreriaS.informacionCrewild.CrewillInstancia[LibreriaS.Batalla.ActualSelNumPlayer].hpTotal) { break; } LibreriaS.informacionCrewild.CrewillInstancia[LibreriaS.Batalla.ActualSelNumPlayer].Hp += Time.deltaTime / velDaño; LibreriaS.Batalla.HpScrollbar[1].size = LibreriaS.informacionCrewild.CrewillInstancia[LibreriaS.Batalla.ActualSelNumPlayer].Hp / LibreriaS.informacionCrewild.CrewillInstancia[LibreriaS.Batalla.ActualSelNumPlayer].hpTotal; CalculoDaño.ActualizahpNormal(Atancante); Incrementador += Time.deltaTime / velDaño; yield return(null); } LibreriaS.informacionCrewild.CrewillInstancia[LibreriaS.Batalla.ActualSelNumPlayer].Hp = (int)LibreriaS.informacionCrewild.CrewillInstancia[LibreriaS.Batalla.ActualSelNumPlayer].Hp; if (LibreriaS.informacionCrewild.CrewillInstancia[LibreriaS.Batalla.ActualSelNumPlayer].Hp > 0) { LibreriaS.Batalla.imagenePlayer.sprite = LibreriaS.informacionCrewild.CrewillInstancia[LibreriaS.Batalla.ActualSelNumPlayer].animaCrewildEspalda[0]; } } yield return(0); RecuperaHp.PausaEjecucionEvento = false; }
public override IEnumerator AnimationBrawler(bool TwovsTwo, string QuienAtaca, Animation animationBrawler, string NombreDelAtaque, MonoBehaviour BehaviourCall) { Vector2 PosicionRefec = Vector2.zero; libreriaDeScrips libreriaS = GameObject.FindObjectOfType <libreriaDeScrips>(); RectTransform ObjetoInsta = null; PosicionRefec = new Vector2(-144f, -74f); // animationBrawler.AddClip(this.animaBattle[0], "Attack"); UnityEngine.UI.Image ImagenPersonaje = null; if (TwovsTwo == false) { //ataca de espalda if (QuienAtaca == "Player") { ImagenPersonaje = animationBrawler.GetComponent <animationScritpBatle>().ImagenEnemigo; animationBrawler.AddClip(this.animaBattle[0], "Attack"); PosicionRefec = new Vector2(151f, 81f); } //ataca de frente else if (QuienAtaca == "Enemy") { ImagenPersonaje = animationBrawler.GetComponent <animationScritpBatle>().imagenePlayer; animationBrawler.AddClip(this.animaBattle[1], "Attack"); PosicionRefec = new Vector2(-236.1f, -115.3f); } } else if (TwovsTwo == true) { // sin implementaciontodavia } animationBrawler.Play("Attack"); yield return(new WaitWhile(() => animationBrawler.GetComponent <libreriaAnimaciones>().Disparador == false)); animationBrawler.GetComponent <libreriaAnimaciones>().Disparador = false; //Parpadeo BehaviourCall.StartCoroutine(SecuenciasAux.SecunciaDaño(ImagenPersonaje)); //audio hit AudioClip clip1 = (AudioClip)Resources.Load("Audios/batalla/Electricidad"); animationBrawler.GetComponent <animationScritpBatle>().AudioVfx.PlayOneShot(clip1); //define el daño y ejecuta el efecto float Daño = CalculoDaño.CalcularDaño(QuienAtaca, NombreDelAtaque); Daño = (int)Daño; Debug.Log("valor del daño : " + Daño); BehaviourCall.StartCoroutine(CalculoDaño.EjecutarDaño(QuienAtaca, Daño)); animationBrawler.GetComponent <libreriaAnimaciones>().Disparador = false; ObjetoInsta = CrearObjetos.CrearObjeto("Prefac/Batalla/ImpactoDescarga", "ImpactoDescarga", PosicionRefec); yield return(new WaitForSeconds(1.2f)); MonoBehaviour.Destroy(ObjetoInsta.gameObject); bool Activaefecto = false; if (SecuenciasAux.RetornaSitieneEstadoAlterado(TwovsTwo, QuienAtaca) == true) { Activaefecto = CalculoDaño.ProbailidadEfecto(probabilidadEfecto); if (Activaefecto == true) { Debug.Log("Active Electrificado "); //Efeto Evenenamiento SecuenciasAux.CambiaEstadoCrewild(QuienAtaca, EstadosEnum.Paralize); animationBrawler.GetComponent <animationScritpBatle>().dialogue = true; animationBrawler.GetComponent <animationScritpBatle>().TextoDeBatalla[0] = "Descarga Provoca paralisis"; yield return(new WaitWhile(() => animationBrawler.GetComponent <animationScritpBatle>().dialogue == true)); yield return(new WaitForSeconds(0.5f)); animationBrawler.GetComponent <animationScritpBatle>().text.text = ""; } } // animationBrawler.GetComponent<animationScritpBatle>().dialogue = true; animationBrawler.GetComponent <animationScritpBatle>().TextoDeBatalla[0] = ""; animationBrawler.GetComponent <animationScritpBatle>().text.text = ""; animationBrawler.GetComponent <animationScritpBatle>().dialogue = true; animationBrawler.GetComponent <animationScritpBatle>().pausaIenumerator = false; yield return(0); }
public override IEnumerator AnimationBrawler(bool TwovsTwo, string QuienAtaca, Animation animationBrawler, string NombreDelAtaque, MonoBehaviour BehaviourCall) { Vector2 PosicionRefec = Vector2.zero; RectTransform ObjetoInsta = null; libreriaDeScrips libreriaS = GameObject.FindObjectOfType <libreriaDeScrips>(); string NombrePLayAnimt = ""; PosicionRefec = new Vector2(-144f, -74f); // animationBrawler.AddClip(this.animaBattle[0], "Attack"); ObjetoInsta = CrearObjetos.CrearObjeto("Prefac/Batalla/PinchosEnvenenar", "PinchosEnvenenar", PosicionRefec); UnityEngine.UI.Image ImagenPersonaje = null; if (TwovsTwo == false) { //ataca de espalda if (QuienAtaca == "Player") { ImagenPersonaje = animationBrawler.GetComponent <animationScritpBatle>().ImagenEnemigo; libreriaS.Batalla.imagenePlayer.sprite = libreriaS.informacionCrewild.CrewillInstancia[libreriaS.Batalla.ActualSelNumPlayer].animaCrewildEspalda[2]; NombrePLayAnimt = "PinchosSecuencia1"; } //ataca de frente else if (QuienAtaca == "Enemy") { // animationBrawler.AddClip(this.animaBattle[1], "Attack"); ImagenPersonaje = animationBrawler.GetComponent <animationScritpBatle>().imagenePlayer; libreriaS.Batalla.ImagenEnemigo.sprite = libreriaS.Batalla.EnemigosBatalla[libreriaS.Batalla.ActualSeNumEnemy].animaCrewildFrentre[2]; NombrePLayAnimt = "PinchosSecuencia2"; } } else if (TwovsTwo == true) { // sin implementaciontodavia } OpcionesAnimation lAnimacionesAux = ObjetoInsta.GetComponent <OpcionesAnimation>(); AudioClip clip1 = (AudioClip)Resources.Load("Audios/batalla/Hit poison"); animationBrawler.GetComponent <animationScritpBatle>().AudioVfx.PlayOneShot(clip1); ObjetoInsta.GetComponent <Animation>().Play(NombrePLayAnimt); yield return(new WaitWhile(() => lAnimacionesAux.Disparador == false)); lAnimacionesAux.Disparador = false; SecuenciasAux.DevuelveSpriteBase(QuienAtaca); ObjetoInsta.GetComponent <PlayScritp>().animacion = new Sprite[1]; ObjetoInsta.GetComponent <PlayScritp>().animacion[0] = EncontrarMetodo.DevuelveSprite("Sprites/vfx/disparo de energia/ataque 1", "impacto 1"); //Parpadeo BehaviourCall.StartCoroutine(SecuenciasAux.SecunciaDaño(ImagenPersonaje)); //audio hit clip1 = (AudioClip)Resources.Load("Audios/batalla/Hit_Hurt2"); animationBrawler.GetComponent <animationScritpBatle>().AudioVfx.PlayOneShot(clip1); //define el daño y ejecuta el efecto float Daño = CalculoDaño.CalcularDaño(QuienAtaca, NombreDelAtaque); Daño = (int)Daño; Debug.Log("valor del daño : " + Daño); BehaviourCall.StartCoroutine(CalculoDaño.EjecutarDaño(QuienAtaca, Daño)); yield return(new WaitForSeconds(1.2f)); MonoBehaviour.Destroy(ObjetoInsta.gameObject); bool Activaefecto = false; if (SecuenciasAux.RetornaSitieneEstadoAlterado(TwovsTwo, QuienAtaca) == true) { Activaefecto = CalculoDaño.ProbailidadEfecto(probabilidadEfecto); if (Activaefecto == true) { Debug.Log("Active envenenamiento "); //Efeto Evenenamiento CalculoDaño.PausaEjecucionEvento = true; BehaviourCall.StartCoroutine(SecuenciasAux.EnvenenamientoEfecto(ImagenPersonaje)); yield return(new WaitWhile(() => CalculoDaño.PausaEjecucionEvento == true)); SecuenciasAux.CambiaEstadoCrewild(QuienAtaca, EstadosEnum.poison); } } //salir de la seccuencia yield return(new WaitWhile(() => CalculoDaño.PausaEjecucionEvento == true)); yield return(new WaitWhile(() => lAnimacionesAux.Disparador == true)); lAnimacionesAux.Disparador = false; // animationBrawler.GetComponent<animationScritpBatle>().dialogue = true; animationBrawler.GetComponent <animationScritpBatle>().TextoDeBatalla[0] = ""; animationBrawler.GetComponent <animationScritpBatle>().text.text = ""; animationBrawler.GetComponent <animationScritpBatle>().dialogue = true; animationBrawler.GetComponent <animationScritpBatle>().pausaIenumerator = false; yield return(0); }
public override IEnumerator AnimationBrawler(bool TwovsTwo, string QuienAtaca, Animation animationBrawler, string NombreDelAtaque, MonoBehaviour BehaviourCall) { cantidadDeusos--; Vector2 PosicionRefec = Vector2.zero; RectTransform ObjetoInsta = null; UnityEngine.UI.Image ImagenPersonaje = null; libreriaDeScrips libreriaS = GameObject.FindObjectOfType <libreriaDeScrips>(); PosicionRefec = new Vector2(-167.1f, -115f); if (TwovsTwo == false) { //ataca de espalda if (QuienAtaca == "Player") { ImagenPersonaje = animationBrawler.GetComponent <animationScritpBatle>().ImagenEnemigo; animationBrawler.AddClip(this.animaBattle[0], "Attack"); } //ataca de frente else if (QuienAtaca == "Enemy") { ImagenPersonaje = animationBrawler.GetComponent <animationScritpBatle>().imagenePlayer; animationBrawler.AddClip(this.animaBattle[1], "Attack"); } } else if (TwovsTwo == true) { // sin implementaciontodavia } for (int i = 0; i < 3; i++) { //como minimo la secuencia se ejecuta una ves en luego de eso define en un 50/50 desde el segundo ciclo si se ejecuta if (i > 0) { //sale del ciclo si no se ejecuta se dispara este valor if (DevuelveResultado() == false) { break; } } animationBrawler.GetComponent <animationScritpBatle>().dialogue = true; animationBrawler.GetComponent <animationScritpBatle>().TextoDeBatalla[0] = TextoImpacto(i); yield return(new WaitWhile(() => animationBrawler.GetComponent <animationScritpBatle>().dialogue == true)); yield return(new WaitForSeconds(0.5f)); animationBrawler.GetComponent <animationScritpBatle>().text.text = ""; animationBrawler.Play("Attack"); yield return(new WaitWhile(() => animationBrawler.GetComponent <libreriaAnimaciones>().Disparador == false)); animationBrawler.GetComponent <libreriaAnimaciones>().Disparador = false; ObjetoInsta = CrearObjetos.CrearObjeto("Prefac/Batalla/impacto", "impacto", PosicionRefec); //si el atacante es enemigo corrige posicion de ejecuicion de secuencia atraves de esta anima de personaje if (QuienAtaca == "Enemy") { ObjetoInsta.GetComponent <Animation>().Play("ImpactoEnemigo"); } //parpadeo BehaviourCall.StartCoroutine(SecuenciasAux.SecunciaDaño(ImagenPersonaje)); //define el daño y ejecuta el efecto float Daño = CalculoDaño.CalcularDaño(QuienAtaca, NombreDelAtaque); Daño = (int)Daño; Debug.Log("valor del daño : " + Daño); BehaviourCall.StartCoroutine(CalculoDaño.EjecutarDaño(QuienAtaca, Daño)); yield return(new WaitForSeconds(1f)); MonoBehaviour.Destroy(ObjetoInsta.gameObject); //salir de la seccuencia yield return(new WaitWhile(() => CalculoDaño.PausaEjecucionEvento == true)); } // yield return new WaitWhile(() => lAnimacionesAux.Disparador == true); // animationBrawler.GetComponent<animationScritpBatle>().dialogue = true; animationBrawler.GetComponent <animationScritpBatle>().TextoDeBatalla[0] = ""; animationBrawler.GetComponent <animationScritpBatle>().text.text = ""; animationBrawler.GetComponent <animationScritpBatle>().dialogue = true; animationBrawler.GetComponent <animationScritpBatle>().pausaIenumerator = false; }
public override IEnumerator AnimationBrawler(bool TwovsTwo, string QuienAtaca, Animation animationBrawler, string NombreDelAtaque, MonoBehaviour BehaviourCall) { cantidadDeusos--; Vector2 PosicionRefec = Vector2.zero; RectTransform ObjetoInsta = null; UnityEngine.UI.Image ImagenPersonaje = null; libreriaDeScrips libreriaS = GameObject.FindObjectOfType <libreriaDeScrips>(); string NombrePLayAnimt = ""; PosicionRefec = new Vector2(-144f, -74f); // animationBrawler.AddClip(this.animaBattle[0], "Attack"); ObjetoInsta = CrearObjetos.CrearObjeto("Prefac/Batalla/Disparo", "Disparo", PosicionRefec); if (TwovsTwo == false) { //ataca de espalda if (QuienAtaca == "Player") { ImagenPersonaje = animationBrawler.GetComponent <animationScritpBatle>().ImagenEnemigo; libreriaS.Batalla.imagenePlayer.sprite = libreriaS.informacionCrewild.CrewillInstancia[libreriaS.Batalla.ActualSelNumPlayer].animaCrewildEspalda[2]; NombrePLayAnimt = "DisparoSecuencia1"; } //ataca de frente else if (QuienAtaca == "Enemy") { // animationBrawler.AddClip(this.animaBattle[1], "Attack"); ImagenPersonaje = animationBrawler.GetComponent <animationScritpBatle>().imagenePlayer; libreriaS.Batalla.ImagenEnemigo.sprite = libreriaS.Batalla.EnemigosBatalla[libreriaS.Batalla.ActualSeNumEnemy].animaCrewildFrentre[2]; NombrePLayAnimt = "DisparoSecuencia2"; } } else if (TwovsTwo == true) { // sin implementaciontodavia } ObjetoInsta.GetComponent <Animation>().Play(NombrePLayAnimt); // animationBrawler.Play("Attack"); OpcionesAnimation lAnimacionesAux = ObjetoInsta.GetComponent <OpcionesAnimation>(); yield return(new WaitWhile(() => lAnimacionesAux.Disparador == false)); lAnimacionesAux.Disparador = false; SecuenciasAux.DevuelveSpriteBase(QuienAtaca); // energia disparada ObjetoInsta.GetComponent <PlayScritp>().animacion = new Sprite[3]; for (int i = 0; i < 3; i++) { ObjetoInsta.GetComponent <PlayScritp>().animacion[i] = EncontrarMetodo.DevuelveSprite("Sprites/vfx/disparo de energia/ataque 1", "Disparo " + (i + 1)); } yield return(new WaitWhile(() => lAnimacionesAux.Disparador == false)); lAnimacionesAux.Disparador = false; //impacto ObjetoInsta.GetComponent <PlayScritp>().animacion = new Sprite[1]; ObjetoInsta.GetComponent <PlayScritp>().animacion[0] = EncontrarMetodo.DevuelveSprite("Sprites/vfx/disparo de energia/ataque 1", "impacto 1"); //parpadeo BehaviourCall.StartCoroutine(SecuenciasAux.SecunciaDaño(ImagenPersonaje)); //define el daño y ejecuta el efecto float Daño = CalculoDaño.CalcularDaño(QuienAtaca, NombreDelAtaque); Daño = (int)Daño; Debug.Log("valor del daño : " + Daño); BehaviourCall.StartCoroutine(CalculoDaño.EjecutarDaño(QuienAtaca, Daño)); yield return(new WaitForSeconds(1.2f)); MonoBehaviour.Destroy(ObjetoInsta.gameObject); //salir de la seccuencia yield return(new WaitWhile(() => CalculoDaño.PausaEjecucionEvento == true)); yield return(new WaitWhile(() => lAnimacionesAux.Disparador == true)); lAnimacionesAux.Disparador = false; // animationBrawler.GetComponent<animationScritpBatle>().dialogue = true; animationBrawler.GetComponent <animationScritpBatle>().TextoDeBatalla[0] = ""; animationBrawler.GetComponent <animationScritpBatle>().text.text = ""; animationBrawler.GetComponent <animationScritpBatle>().dialogue = true; animationBrawler.GetComponent <animationScritpBatle>().pausaIenumerator = false; }