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

Componente de disparo que lanza tres proyectiles en abanico desde un único punto de disparo central. Genera un patrón de ataque en forma de "tridente", ideal para cubrir más área y dar sensación de potencia. Más...

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

Métodos públicos

override void Shoot ()
 Lanza tres proyectiles simultáneos con ángulos de dispersión calculados. Los ángulos se definen como -spreadAngle, 0 y +spreadAngle con respecto a la rotación original del firePoint.
 
- Métodos públicos heredados de ShootingBehaviour
void Shoot ()
 Método abstracto que debe implementar cualquier proyectil derivado. Se llama justo después de instanciar el proyectil para darle velocidad o comportamiento inicial.
 

Atributos públicos

GameObject bulletPrefab
 Prefab del proyectil que será instanciado en cada disparo. Debe tener un Rigidbody2D para aplicar la velocidad.
 
Transform firePoint
 Punto central desde el cual se lanzan los tres disparos. Si no se asigna, se buscará automáticamente dentro de un objeto llamado "Player".
 
float speed
 Velocidad de desplazamiento de los proyectiles en unidades por segundo.
 
float spreadAngle
 Ángulo de separación en grados entre los proyectiles laterales y el central.
 

Métodos privados

void Awake ()
 En caso de no tener firePoint asignado, se intenta encontrar automáticamente un hijo llamado "FirePointCenter" bajo un GameObject llamado "Player".
 

Descripción detallada

Componente de disparo que lanza tres proyectiles en abanico desde un único punto de disparo central. Genera un patrón de ataque en forma de "tridente", ideal para cubrir más área y dar sensación de potencia.

Definición en la línea 16 del archivo TripleShot.cs.

Documentación de funciones miembro

◆ Awake()

void TripleShot.Awake ( )
inlineprivate

En caso de no tener firePoint asignado, se intenta encontrar automáticamente un hijo llamado "FirePointCenter" bajo un GameObject llamado "Player".

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

49 {
50 if (firePoint == null)
51 {
52 var playerGO = GameObject.Find("Player");
53 if (playerGO != null)
54 {
55 // Dentro del Player, buscamos el hijo FirePointCenter
56 var fp = playerGO.transform.Find("FirePointCenter");
57 if (fp != null)
58 {
59 firePoint = fp;
60 }
61 else
62 {
63 Debug.LogError("TripleShot: no existe un hijo 'FirePointCenter' bajo 'Player'.");
64 }
65 }
66 else
67 {
68 Debug.LogError("TripleShot: no se encontró ningún GameObject llamado 'Player' en la escena.");
69 }
70 }
71 }
Transform firePoint
Punto central desde el cual se lanzan los tres disparos. Si no se asigna, se buscará automáticamente ...
Definition TripleShot.cs:30

Hace referencia a firePoint.

◆ Shoot()

override void TripleShot.Shoot ( )
inline

Lanza tres proyectiles simultáneos con ángulos de dispersión calculados. Los ángulos se definen como -spreadAngle, 0 y +spreadAngle con respecto a la rotación original del firePoint.

Definición en la línea 79 del archivo TripleShot.cs.

80 {
81 for (int i = -1; i <= 1; i++)
82 {
83 var rot = firePoint.rotation * Quaternion.Euler(0, 0, i * spreadAngle);
84 GameObject b = Instantiate(bulletPrefab, firePoint.position, rot);
85 b.GetComponent<Rigidbody2D>().linearVelocity = rot * Vector3.up * speed;
86 }
87 }
float speed
Velocidad de desplazamiento de los proyectiles en unidades por segundo.
Definition TripleShot.cs:35
float spreadAngle
Ángulo de separación en grados entre los proyectiles laterales y el central.
Definition TripleShot.cs:40
GameObject bulletPrefab
Prefab del proyectil que será instanciado en cada disparo. Debe tener un Rigidbody2D para aplicar la ...
Definition TripleShot.cs:24

Hace referencia a bulletPrefab, firePoint, speed y spreadAngle.

Documentación de datos miembro

◆ bulletPrefab

GameObject TripleShot.bulletPrefab

Prefab del proyectil que será instanciado en cada disparo. Debe tener un Rigidbody2D para aplicar la velocidad.

Definición en la línea 24 del archivo TripleShot.cs.

Referenciado por Shoot().

◆ firePoint

Transform TripleShot.firePoint

Punto central desde el cual se lanzan los tres disparos. Si no se asigna, se buscará automáticamente dentro de un objeto llamado "Player".

Definición en la línea 30 del archivo TripleShot.cs.

Referenciado por Awake() y Shoot().

◆ speed

float TripleShot.speed

Velocidad de desplazamiento de los proyectiles en unidades por segundo.

Definición en la línea 35 del archivo TripleShot.cs.

Referenciado por Shoot().

◆ spreadAngle

float TripleShot.spreadAngle

Ángulo de separación en grados entre los proyectiles laterales y el central.

Definición en la línea 40 del archivo TripleShot.cs.

Referenciado por Shoot().


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