Cosmic Strike
 
Cargando...
Buscando...
Nada coincide
PowerUpWeapon.cs
Ir a la documentación de este archivo.
1
9
10using UnityEngine;
11using System.Collections;
12
18[RequireComponent(typeof(Collider2D))]
19public class PowerUpWeapon : MonoBehaviour
20{
21 // ========== CONFIGURACIÓN DEL POWER-UP ==========
22
27 [Header("Arma que equipa")]
29
34 [Header("Duración (s). 0 = permanente")]
35 public float duration = 0f;
36
37 // ========== DETECCIÓN DE COLISIÓN ==========
38
43 private void OnTriggerEnter2D(Collider2D other)
44 {
45 if (!other.CompareTag("Player")) return;
46
47 PlayerShooting ps = other.GetComponent<PlayerShooting>();
48 if (ps != null)
49 {
50 // 1) Equipamos la nueva arma
52
53 // 2) Si es temporal, arrancamos la corrutina en el Player
54 if (duration > 0f)
55 ps.StartCoroutine(RevertAfter(ps, duration));
56 }
57
58 // 3) destruimos *solo* el Power-Up
59 Destroy(gameObject);
60 }
61
62 // ========== RESTABLECIMIENTO DE ARMA ORIGINAL ==========
63
69 private IEnumerator RevertAfter(PlayerShooting ps, float secs)
70 {
71 yield return new WaitForSeconds(secs);
72 // 4) Volvemos al arma por defecto
74 }
75}
Sistema de disparo del jugador que permite disparar pulsando la tecla espacio. Gestiona la cadencia d...
void EquipWeapon(ShootingBehaviour weaponPrefab)
Equipa un nuevo arma, destruyendo la anterior si la hubiera, e instancia el prefab en el hijo del obj...
ShootingBehaviour defaultWeaponPrefab
Prefab del arma por defecto que se equipará al inicio (puede ser AlternatingShot, TripleShot,...
Componente que define un Power-Up capaz de equipar una nueva arma al jugador. Puede tener duración li...
IEnumerator RevertAfter(PlayerShooting ps, float secs)
Corrutina que espera el tiempo indicado y luego devuelve al jugador su arma por defecto.
ShootingBehaviour weaponPrefab
Prefab del arma que se equipará al jugador al recoger este Power-Up. Debe heredar de ShootingBehaviou...
float duration
Duración en segundos del arma equipada. Si es 0, el arma es permanente hasta que se sustituya por otr...
void OnTriggerEnter2D(Collider2D other)
Detecta la colisión con el jugador, equipa el arma y lanza una corrutina si es temporal.
Clase base abstracta que define la interfaz de comportamiento para proyectiles. Cada clase hija debe ...