| CAlternatingShot | 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 |
| CCameraShake | Componente que permite aplicar un efecto de sacudida temporal a la cámara. Ideal para generar feedback visual ante explosiones, colisiones o eventos importantes |
| CDamageOnCollision | 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 |
| CEnemyBase | Clase base para enemigos que se destruyen automáticamente cuando salen del campo de visión de la cámara, pero solo después de haber sido visibles al menos una vez |
| CEnemyShooting | 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 |
| CErraticMovement | Componente que aplica movimiento errático con rotación suave a un objeto. Cambia de dirección al azar cada pocos segundos o al llegar a los márgenes de pantalla. Limita el movimiento dentro de una región del viewport, permitiendo que el objeto salga solo por abajo |
| CGameManager | |
| CHealth | Componente que gestiona la salud de un objeto. Permite recibir daño y ser destruido al llegar a cero. También permite aumentar salud y lanza un efecto de explosión opcional al morir |
| CHomingMovement | Componente que permite que un enemigo se dirija constantemente hacia el jugador. Si no se asigna un Transform manualmente, busca automáticamente uno con la etiqueta "Player". Gira para mirar al jugador y se mueve en esa dirección con la velocidad especificada |
| CLinearMovement | Componente que aplica un movimiento vertical constante hacia abajo a un GameObject. Útil para efectos simples como objetos que caen, enemigos que se desplazan en lÃnea recta o elementos ambientales |
| CMoveForward | Componente que mueve el GameObject hacia adelante en su eje local a una velocidad constante. Utiliza transform.Translate en el espacio local para mantener coherencia con la rotación del objeto |
| CPlayerController | Componente que permite mover un jugador en 2D a través de entrada de usuario (WASD o flechas), con restricción de movimiento dentro del viewport y opción de rotación visual (alabeo) |
| CPlayerShooting | Sistema de disparo del jugador que permite disparar pulsando la tecla espacio. Gestiona la cadencia de fuego y el cambio de armas en tiempo de ejecución |
| CPowerUpAddScreenClearUses | Componente que define el comportamiento de un Power-Up que incrementa la cantidad de usos de una habilidad de limpieza de pantalla cuando el jugador lo recoge |
| CPowerUpExtraLife | Componente que define un Power-Up que otorga salud adicional al jugador. Al colisionar con el jugador, busca el componente Health y le añade la cantidad configurada |
| CPowerUpMotion | Componente que hace que un Power-Up caiga con una velocidad aleatoria dentro de un rango y rote continuamente en el eje Z con una velocidad también aleatoria. El objeto se destruye al salir completamente del campo de visión |
| CPowerUpWeapon | Componente que define un Power-Up capaz de equipar una nueva arma al jugador. Puede tener duración limitada (temporal) o indefinida (permanente). Al finalizar la duración, si aplica, se restablece el arma original del jugador |
| CRadialShot | Implementación de disparo radial que instancia bulletCount proyectiles equiespaciados en un cÃrculo completo, aplicando una velocidad uniforme a cada uno. Utiliza firePoint como origen de todos los disparos |
| CScoreManager | Sistema de puntuación centralizado que gestiona puntos obtenidos por el jugador. Permite asignar puntuaciones por eliminar balas enemigas o distintos tipos de enemigos. Utiliza TextMeshPro para mostrar la puntuación actualizada y emplea un patrón Singleton para acceso global |
| CScreenClearAbility | Componente que permite al jugador activar una habilidad de limpieza de pantalla (screen wipe), eliminando todos los enemigos y balas enemigas visibles. Consume un uso cada vez que se activa, puede ampliarse con power-ups, y produce un temblor de cámara como feedback |
| CShootingBehaviour | Clase base abstracta que define la interfaz de comportamiento para proyectiles. Cada clase hija debe implementar el método Shoot(), que se llama tras la instanciación. Esta clase también maneja la destrucción automática del proyectil al salir del campo de visión, y una colisión simple con enemigos (destruye ambos) |
| CSinusoidalMovementAlt | Movimiento que combina un desplazamiento vertical descendente constante con una oscilación horizontal sinusoidal. Esta versión utiliza Translate para el eje Y y modifica la posición X directamente según el seno de un ángulo actualizado con el tiempo |
| CSpawnManager | Componente encargado de generar oleadas de enemigos y Power-Ups. Escala automáticamente la dificultad y mantiene la progresión del juego por niveles |
| CSpiralShot | Dispara una ráfaga de proyectiles en forma de espiral. Cada disparo se realiza con una rotación incremental, produciendo una secuencia que gira 360° a lo largo de un intervalo de tiempo. La ráfaga se gestiona mediante una corrutina |
| CTripleShot | 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 |
| CWave | Estructura de datos que define una oleada de enemigos. Permite especificar cuántos enemigos, con qué prefabs y a qué ritmo se generan |