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

Comportamiento de disparo que alterna entre dos puntos de disparo (por ejemplo, izquierdo y derecho). Si no se asignan manualmente los firePoints, el script intentará buscarlos automáticamente en el objeto raíz del jugador. Más...

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

Métodos públicos

override void Shoot ()
 Dispara un proyectil desde el siguiente firePoint, alternando entre los disponibles. Si no hay suficientes puntos o el prefab no está asignado, no se ejecuta nada.
 
- 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 se instanciará al disparar. Debe tener un Rigidbody2D para que se le aplique velocidad.
 
float bulletSpeed = 10f
 Velocidad con la que se desplaza el proyectil al ser disparado (en unidades por segundo).
 
Transform[] firePoints
 Transformaciones que indican desde dónde se disparan los proyectiles. Si no se arrastran manualmente, se buscarán los objetos "FirePointLeft" y "FirePointRight".
 

Métodos privados

void Awake ()
 Busca automáticamente los firePoints si no se han asignado manualmente. Se asume que el arma está anidada bajo el objeto Player y que los puntos se llaman "FirePointLeft" y "FirePointRight".
 

Atributos privados

int nextIndex
 Índice del próximo firePoint desde el que se disparará. Se alterna entre 0 y 1 en cada disparo.
 

Descripción detallada

Comportamiento de disparo que alterna entre dos puntos de disparo (por ejemplo, izquierdo y derecho). Si no se asignan manualmente los firePoints, el script intentará buscarlos automáticamente en el objeto raíz del jugador.

Definición en la línea 15 del archivo AlternatingShot.cs.

Documentación de funciones miembro

◆ Awake()

void AlternatingShot.Awake ( )
inlineprivate

Busca automáticamente los firePoints si no se han asignado manualmente. Se asume que el arma está anidada bajo el objeto Player y que los puntos se llaman "FirePointLeft" y "FirePointRight".

Definición en la línea 52 del archivo AlternatingShot.cs.

53 {
54 if (firePoints == null || firePoints.Length < 2)
55 {
56 // Asumimos que el arma está bajo el Player
57 Transform playerRoot = transform.root;
58 Transform left = playerRoot.Find("FirePointLeft");
59 Transform right = playerRoot.Find("FirePointRight");
60
61 if (left != null && right != null)
62 firePoints = new Transform[] { left, right };
63 else
64 Debug.LogError(
65 $"[{name}] AlternatingShot Awake: no ha encontrado FirePointLeft/Right bajo {playerRoot.name}"
66 );
67 }
68 }
Transform[] firePoints
Transformaciones que indican desde dónde se disparan los proyectiles. Si no se arrastran manualmente,...

Hace referencia a firePoints.

◆ Shoot()

override void AlternatingShot.Shoot ( )
inline

Dispara un proyectil desde el siguiente firePoint, alternando entre los disponibles. Si no hay suficientes puntos o el prefab no está asignado, no se ejecuta nada.

Definición en la línea 74 del archivo AlternatingShot.cs.

75 {
76 if (firePoints == null || firePoints.Length < 2 || bulletPrefab == null)
77 return;
78
79 // Selecciona y dispara
80 Transform fp = firePoints[nextIndex];
81 GameObject b = Instantiate(bulletPrefab, fp.position, fp.rotation);
82 if (b.TryGetComponent<Rigidbody2D>(out var rb))
83 rb.linearVelocity = fp.up * bulletSpeed;
84
85 // Prepara el siguiente índice (0→1→0…)
86 nextIndex = (nextIndex + 1) % firePoints.Length;
87 }
int nextIndex
Índice del próximo firePoint desde el que se disparará. Se alterna entre 0 y 1 en cada disparo.
GameObject bulletPrefab
Prefab del proyectil que se instanciará al disparar. Debe tener un Rigidbody2D para que se le aplique...
float bulletSpeed
Velocidad con la que se desplaza el proyectil al ser disparado (en unidades por segundo).

Hace referencia a bulletPrefab, bulletSpeed, firePoints y nextIndex.

Documentación de datos miembro

◆ bulletPrefab

GameObject AlternatingShot.bulletPrefab

Prefab del proyectil que se instanciará al disparar. Debe tener un Rigidbody2D para que se le aplique velocidad.

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

Referenciado por Shoot().

◆ bulletSpeed

float AlternatingShot.bulletSpeed = 10f

Velocidad con la que se desplaza el proyectil al ser disparado (en unidades por segundo).

Definición en la línea 29 del archivo AlternatingShot.cs.

Referenciado por Shoot().

◆ firePoints

Transform [] AlternatingShot.firePoints

Transformaciones que indican desde dónde se disparan los proyectiles. Si no se arrastran manualmente, se buscarán los objetos "FirePointLeft" y "FirePointRight".

Definición en la línea 36 del archivo AlternatingShot.cs.

Referenciado por Awake() y Shoot().

◆ nextIndex

int AlternatingShot.nextIndex
private

Índice del próximo firePoint desde el que se disparará. Se alterna entre 0 y 1 en cada disparo.

Definición en la línea 44 del archivo AlternatingShot.cs.

Referenciado por Shoot().


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