<aside> <img src="/icons/key-antique_gray.svg" alt="/icons/key-antique_gray.svg" width="40px" />
<aside> <img src="/icons/triangle-alternate_gray.svg" alt="/icons/triangle-alternate_gray.svg" width="40px" />
</aside>
El Multiplayer Shooter System (MSS) es un framework modular basado en componentes (Component-Based Architecture) diseñado para implementar mecánicas de disparo replicadas en Unreal Engine 5.
El sistema reside en Content/DMD/Blueprints/Components/Shooter_System/. Su diseño centraliza toda la lógica de combate en un único componente, desacoplando las mecánicas del Pawn. Esto permite su implementación en Personajes, Vehículos o Torretas mediante composición.

"Un diagrama de flujo donde el BPC_Shooter_System está en el centro. Recibe inputs del Player Controller. Controla el BP_Weapon_Master y el sistema se comunica con el Animation Blueprint mediante Interfaces."
<aside> <img src="/icons/triangle_lightgray.svg" alt="/icons/triangle_lightgray.svg" width="40px" />
</aside>
El corazón del sistema es el Actor Component 🟦 BPC_Shooter_System. Este componente actúa como gestor principal de estado y no requiere herencia en la clase del personaje.
Sus responsabilidades son:
Throwing (Granadas), Reloading o WallBlocked.Cosmetics) a los clientes.<aside> <img src="/icons/triangle_lightgray.svg" alt="/icons/triangle_lightgray.svg" width="40px" />
</aside>
El sistema adapta su comportamiento automáticamente según la variable 🟩 Actor_Type (basada en el enumerador 🟨 ENU_Actor_Type). Esto divide la arquitectura en dos flujos:
<aside>
Habilita la lógica avanzada de infantería:
<aside>
Habilita la lógica simplificada para unidades mecánicas:
Pickup) ni animaciones humanas.
</aside><aside> <img src="/icons/triangle_lightgray.svg" alt="/icons/triangle_lightgray.svg" width="40px" />
</aside>
El arsenal utiliza una jerarquía de clases derivada de 🟦 BP_Weapon_Master, evitando Data Tables para la lógica.
<aside>
Hijas de 🟦 BP_LW_Master. Diseñadas para personajes.
Sleep) para ahorrar rendimiento.<aside>
Hijas de 🟦 BP_HW_Master. Diseñadas para vehículos.
<aside> <img src="/icons/triangle_lightgray.svg" alt="/icons/triangle_lightgray.svg" width="40px" />
</aside>
<aside>
El sistema de disparo gestiona dos tipos de proyectiles:
Projectile). Gestionan su propio daño y VFX de impacto.Laser).
</aside><aside>
El feedback visual se centraliza en el widget 🟦 WBP_Shooter_Hud.
Current_Dispersion) basado en el movimiento y disparo.
</aside><aside> <img src="/icons/triangle_lightgray.svg" alt="/icons/triangle_lightgray.svg" width="40px" />
</aside>
El MSS se comunica con sistemas externos mediante interfaces para evitar dependencias directas: