示例#1
0
    /// <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;
    }
示例#2
0
    /// <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);
    }
示例#3
0
    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);
    }
示例#4
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);
    }
示例#5
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;
    }
示例#6
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/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);
    }
示例#7
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);
    }
示例#8
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;
    }
示例#9
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>();

        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;
    }