コード例 #1
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);
    }
コード例 #2
0
ファイル: Disparo Energia.cs プロジェクト: NessDisk/Crewild
    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;
    }