24 [Header(
"Radial Shot Settings")]
25 [Tooltip(
"Prefab del proyectil (GameObject con Rigidbody2D + DamageOnTrigger)")]
32 [Tooltip(
"Punto central de salida (Transform hijo de la nave)")]
38 [Tooltip(
"Velocidad de salida de cada proyectil")]
44 [Tooltip(
"Número de proyectiles en la circunferencia")]
55 var playerGO = GameObject.Find(
"Player");
58 var fp = playerGO.transform.Find(
"FirePointCenter");
65 Debug.LogError(
"RadialShot: no se encontró 'FirePointCenter' bajo 'Player'.");
70 Debug.LogError(
"RadialShot: no se encontró ningún GameObject llamado 'Player'.");
83 Debug.LogWarning(
"RadialShot: configura bulletPrefab, firePoint y bulletCount ≥ 1.");
93 Quaternion rot = Quaternion.Euler(0f, 0f, angle);
94 Vector2 dir = rot * Vector2.up;
98 if (b.TryGetComponent<Rigidbody2D>(out var rb))
104 Debug.LogWarning(
"RadialShot: el prefab no tiene Rigidbody2D.");
Implementación de disparo radial que instancia bulletCount proyectiles equiespaciados en un círculo c...
float bulletSpeed
Velocidad a la que se desplaza cada proyectil en la dirección asignada.
Transform firePoint
Transform desde donde se dispararán todos los proyectiles. Si no se asigna manualmente,...
int bulletCount
Número total de proyectiles generados en la circunferencia.
void Awake()
Si no se ha asignado un firePoint manualmente, se busca automáticamente el hijo "FirePointCenter" den...
GameObject bulletPrefab
Prefab del proyectil que se dispara radialmente. Debe tener un Rigidbody2D para aplicar velocidad.
override void Shoot()
Ejecuta el disparo radial. Instancia bulletCount proyectiles y les asigna una velocidad en direccione...
Clase base abstracta que define la interfaz de comportamiento para proyectiles. Cada clase hija debe ...