HUD State Publisher
Tipo: Exec (In → Out)
Categoría: PLAYER
Agrega y republica estado de gameplay bajo el prefijo ui_*, creando una capa de abstracción segura para nodos de HUD y UI. Nunca expone prefijos internos (_ph_*, _inv_*, _pi_*, etc.) a los consumidores de interfaz.
Propiedades
| Propiedad |
Tipo |
Por defecto |
Descripción |
| Update Rate |
Float (0–10) |
0.0 |
Segundos entre publicaciones; 0.0 = cada frame |
| Health |
Bool |
True |
Publica ui_hp y ui_hp_max |
| Ammo |
Bool |
True |
Publica ui_ammo, ui_magazines, ui_weapon_name |
| Reload |
Bool |
True |
Publica ui_reload y ui_reload_progress |
| ADS |
Bool |
True |
Publica ui_ads y ui_ads_alpha |
| Interaction |
Bool |
True |
Publica ui_interaction y ui_interaction_text |
| Debug |
Bool |
False |
Imprime los valores ui_* en cada ciclo de publicación |
Sockets
| Socket |
Dirección |
Tipo |
| In |
Entrada |
Exec |
| Out |
Salida |
Exec |
Variables publicadas
Salud
| Variable |
Tipo |
Fuente |
Descripción |
ui_hp |
float |
player_hp |
Salud actual |
ui_hp_max |
float |
player_hp_max |
Salud máxima |
Munición
| Variable |
Tipo |
Fuente |
Descripción |
ui_ammo |
int |
weapon_ammo_in_mag |
Balas en el cargador |
ui_magazines |
int |
weapon_magazines |
Cargadores adicionales |
ui_weapon_name |
string |
weapon_type |
Nombre del arma activa |
Recarga
| Variable |
Tipo |
Fuente |
Descripción |
ui_reload |
bool |
weapon_is_reloading |
True mientras se recarga |
ui_reload_progress |
float (0–1) |
weapon_reload_progress |
Progreso de la recarga |
ADS
| Variable |
Tipo |
Fuente |
Descripción |
ui_ads |
bool |
weapon_ads_active |
True mientras se apunta |
ui_ads_alpha |
float (0–1) |
weapon_ads_alpha |
Alfa de transición ADS |
Interacción
| Variable |
Tipo |
Fuente |
Descripción |
ui_interaction |
bool |
interaction_available |
True cuando hay objeto interactuable en rango |
ui_interaction_text |
string |
interaction_type |
Tipo de interacción disponible |
Throttling (Update Rate)
Cuando Update Rate > 0, el nodo solo escribe las variables ui_* cada N segundos. Esto reduce el trabajo de los nodos de HUD que no necesitan actualización cada frame.
_ui_dirty es True durante el frame de publicación — úsalo en nodos UI para saber cuándo redibujar.
- Un cambio de arma (
weapon_type) fuerza _ui_dirty = True dentro del ciclo actual, incluso si no ha expirado el intervalo.
- Las secciones desactivadas (p. ej.
Ammo = False) se eliminan completamente del código compilado.
Posición en el grafo
... → [Interaction System] → [HUD State Publisher] → [UI nodes]
Debe ir después de todos los nodos de gameplay y antes de cualquier consumidor de HUD.
Notas de diseño
Este nodo existe para desacoplar el HUD del pipeline de gameplay. Los nodos de UI leen ui_* en lugar de acceder directamente a player_hp, weapon_ammo_in_mag, etc., lo que permite cambiar la implementación interna sin afectar los consumidores de interfaz.