示例#1
0
        public void Attack(Objetivo ob, bool doubleDamage)
        {
            if (poolObjectAttack.count > 0)
            {
                DisableShild();
                GameObject go        = poolObjectAttack.GetObject();
                Proyectil  proyectil = go.GetComponent <Proyectil>();
                proyectil.SetDobleDamage(doubleDamage);
                if (doubleDamage)
                {
                    proyectil.damage = proyectil.damage * 2;
                }
                go.transform.position = tranformAtaque.localPosition;
                go.transform.position = go.transform.position + PosicionGeneracionBalaRelativa;
                go.transform.rotation = new Quaternion(go.transform.rotation.x, go.transform.rotation.y + 180, go.transform.rotation.z, go.transform.rotation.w);
                proyectil.On();
                switch (ob)
                {
                case Objetivo.Cabeza:
                    proyectil.ShootForwardUp();
                    break;

                case Objetivo.Torso:
                    proyectil.ShootForward();
                    break;

                case Objetivo.Piernas:
                    proyectil.ShootForwardDown();
                    break;
                }
            }
        }
示例#2
0
        public void Attack(Objetivo ob, bool doubleDamage)
        {
            if (Time.timeScale > 0)
            {
                if (poolObjectAttack.count > 0)
                {
                    DisableShild();
                    GameObject go        = poolObjectAttack.GetObject();
                    Proyectil  proyectil = go.GetComponent <Proyectil>();
                    proyectil.SetDobleDamage(doubleDamage);
                    if (doubleDamage)
                    {
                        proyectil.damage = proyectil.damage * 2;
                    }
                    go.transform.position = generadorProyectiles.transform.localPosition;
                    go.transform.position = go.transform.position + PosicionGeneracionBalaRelativa;
                    proyectil.On();
                    switch (ob)
                    {
                    case Objetivo.Cabeza:
                        proyectil.ShootForwardUp();
                        break;

                    case Objetivo.Torso:
                        proyectil.ShootForward();
                        break;

                    case Objetivo.Piernas:
                        proyectil.ShootForwardDown();
                        break;
                    }
                }
            }
        }
示例#3
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (collision.tag == "Proyectil")
     {
         Proyectil proyect = collision.GetComponent <Proyectil>();
         if (enemy.typeEnemy == Enemy.TiposDeEnemigo.Defensivo)
         {
             Debug.Log("CONTRA ATAQUE");
             enemy.CounterAttack(false);
         }
         if (proyect != null)
         {
             proyect.GetPoolObject().Recycle();
         }
     }
 }