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

Controla el sistema de disparo de un enemigo. Permite que dispare proyectiles desde uno o varios puntos de disparo (firePoints) si la propiedad canShoot está activada. Más...

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

Atributos públicos

bool canShoot = false
 Indica si el enemigo puede disparar. Debe estar activado para que el disparo ocurra.
 
GameObject bulletPrefab
 Prefab del proyectil que se instanciará al disparar.
 
Transform[] firePoints
 Transformaciones hijas que actúan como puntos de disparo (cañones).
 
float fireRate = 1f
 Tiempo entre disparos consecutivos, en segundos.
 

Métodos privados

void Update ()
 Método llamado una vez por frame. Comprueba si se puede disparar y llama a Shoot si se cumplen las condiciones.
 
void Shoot ()
 Instancia un proyectil en cada firePoint, respetando su rotación. Si el proyectil tiene un componente Rigidbody2D, se le aplica una velocidad inicial en la dirección "up" local.
 

Atributos privados

float nextFireTime = 0f
 Próximo instante de tiempo en el que el enemigo podrá volver a disparar.
 

Descripción detallada

Controla el sistema de disparo de un enemigo. Permite que dispare proyectiles desde uno o varios puntos de disparo (firePoints) si la propiedad canShoot está activada.

El disparo se realiza a intervalos definidos por fireRate. Los proyectiles se instancian en la posición y rotación de cada firePoint. Si el prefab tiene Rigidbody2D, se le asigna una velocidad inicial hacia su eje local 'up'.

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

Documentación de funciones miembro

◆ Shoot()

void EnemyShooting.Shoot ( )
inlineprivate

Instancia un proyectil en cada firePoint, respetando su rotación. Si el proyectil tiene un componente Rigidbody2D, se le aplica una velocidad inicial en la dirección "up" local.

Definición en la línea 68 del archivo EnemyShooting.cs.

69 {
70 foreach (Transform fp in firePoints)
71 {
72 GameObject bullet = Instantiate(
74 fp.position,
75 fp.rotation
76 );
77
78 Rigidbody2D rb = bullet.GetComponent<Rigidbody2D>();
79 if (rb != null)
80 {
81 rb.linearVelocity = fp.up * rb.linearVelocity.magnitude;
82 }
83 }
84 }
GameObject bulletPrefab
Prefab del proyectil que se instanciará al disparar.
Transform[] firePoints
Transformaciones hijas que actúan como puntos de disparo (cañones).

Hace referencia a bulletPrefab y firePoints.

Referenciado por Update().

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

◆ Update()

void EnemyShooting.Update ( )
inlineprivate

Método llamado una vez por frame. Comprueba si se puede disparar y llama a Shoot si se cumplen las condiciones.

Definición en la línea 54 del archivo EnemyShooting.cs.

55 {
56 if (canShoot && Time.time >= nextFireTime && firePoints.Length > 0 && bulletPrefab != null)
57 {
58 Shoot();
59 nextFireTime = Time.time + fireRate;
60 }
61 }
void Shoot()
Instancia un proyectil en cada firePoint, respetando su rotación. Si el proyectil tiene un componente...
bool canShoot
Indica si el enemigo puede disparar. Debe estar activado para que el disparo ocurra.
float nextFireTime
Próximo instante de tiempo en el que el enemigo podrá volver a disparar.
float fireRate
Tiempo entre disparos consecutivos, en segundos.

Hace referencia a bulletPrefab, canShoot, firePoints, fireRate, nextFireTime y Shoot().

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

Documentación de datos miembro

◆ bulletPrefab

GameObject EnemyShooting.bulletPrefab

Prefab del proyectil que se instanciará al disparar.

Definición en la línea 31 del archivo EnemyShooting.cs.

Referenciado por Shoot() y Update().

◆ canShoot

bool EnemyShooting.canShoot = false

Indica si el enemigo puede disparar. Debe estar activado para que el disparo ocurra.

Definición en la línea 25 del archivo EnemyShooting.cs.

Referenciado por Update().

◆ firePoints

Transform [] EnemyShooting.firePoints

Transformaciones hijas que actúan como puntos de disparo (cañones).

Definición en la línea 37 del archivo EnemyShooting.cs.

Referenciado por Shoot() y Update().

◆ fireRate

float EnemyShooting.fireRate = 1f

Tiempo entre disparos consecutivos, en segundos.

Definición en la línea 43 del archivo EnemyShooting.cs.

Referenciado por Update().

◆ nextFireTime

float EnemyShooting.nextFireTime = 0f
private

Próximo instante de tiempo en el que el enemigo podrá volver a disparar.

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

Referenciado por Update().


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