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