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

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. Más...

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

Métodos públicos

void AddUses (int amount=1)
 Añade una cantidad específica de usos a la habilidad (por ejemplo, al recoger un Power-Up).
 

Atributos públicos

KeyCode activateKey = KeyCode.Q
 Tecla utilizada para activar la habilidad. Por defecto: Q.
 
int uses = 1
 Número de usos disponibles. Puede aumentar mediante power-ups.
 
float shakeDuration = 0.5f
 Duración del efecto de temblor de cámara tras activar la habilidad.
 
float shakeMagnitude = 0.3f
 Intensidad del temblor de cámara.
 

Métodos privados

void Start ()
 Inicializa la referencia al CameraShake en la Main Camera. Si no existe, lo añade automáticamente.
 
void Update ()
 Comprueba si se pulsa la tecla de activación y si hay usos disponibles. Si es así, activa el borrado de pantalla.
 
void ActivateClear ()
 Activa la limpieza de pantalla: destruye todos los enemigos y balas enemigas, provoca un temblor de cámara y reduce el contador de usos.
 

Atributos privados

CameraShake cameraShake
 Referencia al componente encargado de producir el efecto de cámara sacudida.
 

Descripción detallada

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.

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

Documentación de funciones miembro

◆ ActivateClear()

void ScreenClearAbility.ActivateClear ( )
inlineprivate

Activa la limpieza de pantalla: destruye todos los enemigos y balas enemigas, provoca un temblor de cámara y reduce el contador de usos.

Definición en la línea 94 del archivo ScreenClearAbility.cs.

95 {
96 // 1) Destruir todos los enemigos mediante Health (para que hagan su explosión)
97 foreach (var e in GameObject.FindGameObjectsWithTag("Enemy"))
98 {
99 var h = e.GetComponent<Health>();
100 if (h != null)
101 {
102 // Infligimos daño "infinito" para forzar la muerte y su explosión
103 h.TakeDamage(int.MaxValue);
104 }
105 else
106 {
107 Destroy(e);
108 }
109 }
110
111 // 2) Destruir todas las balas enemigas (normalmente no tienen Health)
112 foreach (var b in GameObject.FindGameObjectsWithTag("EnemyBullet"))
113 {
114 Destroy(b);
115 }
116
117 // 3) Provocar shake en la cámara
118 if (cameraShake != null)
120
121 // 4) Consumir un uso
122 uses--;
123 }
float shakeMagnitude
Intensidad del temblor de cámara.
int uses
Número de usos disponibles. Puede aumentar mediante power-ups.
CameraShake cameraShake
Referencia al componente encargado de producir el efecto de cámara sacudida.
float shakeDuration
Duración del efecto de temblor de cámara tras activar la habilidad.

Hace referencia a cameraShake, shakeDuration, shakeMagnitude y uses.

Referenciado por Update().

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

◆ AddUses()

void ScreenClearAbility.AddUses ( int amount = 1)
inline

Añade una cantidad específica de usos a la habilidad (por ejemplo, al recoger un Power-Up).

Parámetros
amountNúmero de usos a añadir (por defecto 1).

Definición en la línea 129 del archivo ScreenClearAbility.cs.

130 {
131 uses += amount;
132 }

Hace referencia a uses.

◆ Start()

void ScreenClearAbility.Start ( )
inlineprivate

Inicializa la referencia al CameraShake en la Main Camera. Si no existe, lo añade automáticamente.

Definición en la línea 60 del archivo ScreenClearAbility.cs.

61 {
62 var cam = Camera.main;
63 if (cam != null)
64 {
65 cameraShake = cam.GetComponent<CameraShake>();
66 if (cameraShake == null)
67 cameraShake = cam.gameObject.AddComponent<CameraShake>();
68 }
69 else
70 {
71 Debug.LogError("ScreenClearAbility: no hay cámara principal (Main Camera) en la escena.");
72 }
73 }

Hace referencia a cameraShake.

◆ Update()

void ScreenClearAbility.Update ( )
inlineprivate

Comprueba si se pulsa la tecla de activación y si hay usos disponibles. Si es así, activa el borrado de pantalla.

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

80 {
81 if (uses > 0 && Input.GetKeyDown(activateKey))
82 {
84 }
85 }
KeyCode activateKey
Tecla utilizada para activar la habilidad. Por defecto: Q.
void ActivateClear()
Activa la limpieza de pantalla: destruye todos los enemigos y balas enemigas, provoca un temblor de c...

Hace referencia a ActivateClear(), activateKey y uses.

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

Documentación de datos miembro

◆ activateKey

KeyCode ScreenClearAbility.activateKey = KeyCode.Q

Tecla utilizada para activar la habilidad. Por defecto: Q.

Definición en la línea 27 del archivo ScreenClearAbility.cs.

Referenciado por Update().

◆ cameraShake

CameraShake ScreenClearAbility.cameraShake
private

Referencia al componente encargado de producir el efecto de cámara sacudida.

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

Referenciado por ActivateClear() y Start().

◆ shakeDuration

float ScreenClearAbility.shakeDuration = 0.5f

Duración del efecto de temblor de cámara tras activar la habilidad.

Definición en la línea 39 del archivo ScreenClearAbility.cs.

Referenciado por ActivateClear().

◆ shakeMagnitude

float ScreenClearAbility.shakeMagnitude = 0.3f

Intensidad del temblor de cámara.

Definición en la línea 45 del archivo ScreenClearAbility.cs.

Referenciado por ActivateClear().

◆ uses

int ScreenClearAbility.uses = 1

Número de usos disponibles. Puede aumentar mediante power-ups.

Definición en la línea 33 del archivo ScreenClearAbility.cs.

Referenciado por ActivateClear(), AddUses() y Update().


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