Cosmic Strike
 
Cargando...
Buscando...
Nada coincide
Referencia de la clase DamageOnCollision

Componente que aplica daño al colisionar con otros objetos, según su etiqueta. Soporta colisiones jugador/enemigo, bala/jugador, bala/enemigo y colisiones cruzadas entre balas. Puede destruir el objeto tras el impacto, según configuración. Más...

+ Diagrama de herencia de DamageOnCollision
+ Diagrama de colaboración de DamageOnCollision:

Atributos públicos

int damageToPlayer = 0
 Daño que este objeto inflige al jugador (objetos con tag "Player").
 
int damageToEnemy = 0
 Daño que este objeto inflige a enemigos (objetos con tag "Enemy").
 
bool destroySelf = true
 Determina si este objeto debe autodestruirse tras colisionar y aplicar daño.
 

Métodos privados

void OnTriggerEnter2D (Collider2D other)
 Método de Unity que se ejecuta cuando otro Collider2D entra en contacto con este objeto (Trigger). Aplica daño en función del tag del objeto colisionado y del tipo de entidad que lo contiene.
 

Descripción detallada

Componente que aplica daño al colisionar con otros objetos, según su etiqueta. Soporta colisiones jugador/enemigo, bala/jugador, bala/enemigo y colisiones cruzadas entre balas. Puede destruir el objeto tras el impacto, según configuración.

Definición en la línea 18 del archivo DamageOnCollision.cs.

Documentación de funciones miembro

◆ OnTriggerEnter2D()

void DamageOnCollision.OnTriggerEnter2D ( Collider2D other)
inlineprivate

Método de Unity que se ejecuta cuando otro Collider2D entra en contacto con este objeto (Trigger). Aplica daño en función del tag del objeto colisionado y del tipo de entidad que lo contiene.

Parámetros
otherCollider2D del objeto que ha colisionado.

Definición en la línea 48 del archivo DamageOnCollision.cs.

49 {
50 string myTag = gameObject.tag;
51 string otherTag = other.tag;
52
53 // ----- 1) Colisión bala jugador ↔ bala enemigo -----
54 if ((myTag == "PlayerBullet" && otherTag == "EnemyBullet") ||
55 (myTag == "EnemyBullet" && otherTag == "PlayerBullet"))
56 {
57 // Destruye ambas balas y suma puntos si se usan (ScoreManager opcional)
58 Debug.Log("¡Balas cruzadas! Destruyo ambas.");
59 ScoreManager.Instance.AddBulletScore();
60 Destroy(other.gameObject);
61 if (destroySelf)
62 Destroy(gameObject);
63 return;
64 }
65
66 // ----- 2) Bala o enemigo golpea al jugador -----
67 if (otherTag == "Player" && damageToPlayer > 0)
68 {
69 var playerHealth = other.GetComponent<Health>();
70 if (playerHealth != null)
71 playerHealth.TakeDamage(damageToPlayer);
72
73 // Si este objeto es un enemigo, puede recibir daño recíproco
74 if (myTag == "Enemy" && damageToEnemy > 0)
75 {
76 var myHealth = GetComponent<Health>();
77 if (myHealth != null)
78 myHealth.TakeDamage(damageToEnemy);
79 }
80
81 if (destroySelf)
82 Destroy(gameObject);
83
84 return;
85 }
86
87 // ----- 3) Bala o jugador golpea a un enemigo -----
88 if (otherTag == "Enemy" && damageToEnemy > 0)
89 {
90 var enemyHealth = other.GetComponent<Health>();
91 if (enemyHealth != null)
92 enemyHealth.TakeDamage(damageToEnemy);
93
94 if (destroySelf)
95 Destroy(gameObject);
96
97 return;
98 }
99 }
int damageToPlayer
Daño que este objeto inflige al jugador (objetos con tag "Player").
bool destroySelf
Determina si este objeto debe autodestruirse tras colisionar y aplicar daño.
int damageToEnemy
Daño que este objeto inflige a enemigos (objetos con tag "Enemy").

Hace referencia a ScoreManager.AddBulletScore(), damageToEnemy, damageToPlayer, destroySelf, ScoreManager.Instance y Health.TakeDamage().

+ Gráfico de llamadas de esta función:

Documentación de datos miembro

◆ damageToEnemy

int DamageOnCollision.damageToEnemy = 0

Daño que este objeto inflige a enemigos (objetos con tag "Enemy").

Definición en la línea 33 del archivo DamageOnCollision.cs.

Referenciado por OnTriggerEnter2D().

◆ damageToPlayer

int DamageOnCollision.damageToPlayer = 0

Daño que este objeto inflige al jugador (objetos con tag "Player").

Definición en la línea 27 del archivo DamageOnCollision.cs.

Referenciado por OnTriggerEnter2D().

◆ destroySelf

bool DamageOnCollision.destroySelf = true

Determina si este objeto debe autodestruirse tras colisionar y aplicar daño.

Definición en la línea 39 del archivo DamageOnCollision.cs.

Referenciado por OnTriggerEnter2D().


La documentación de esta clase está generada del siguiente archivo: