8#ifndef RTYPE_CLIENT_SCENES_PLAYINGSCENE_HPP_
9 #define RTYPE_CLIENT_SCENES_PLAYINGSCENE_HPP_
15 #include "Systems/NetworkSyncSystem.hpp"
18 #include <SFML/Graphics.hpp>
48 std::function<
void(
GameState)> changeState);
63 void onExit(
void)
override;
75 void update(
float dt)
override;
System to handle network-related operations on the client side.
Manages game settings and preferences.
Manages game translations for all UI elements.
Factory class for creating UI components in the ECS registry.
Interface for different scenes in the client application.
Scene for the main gameplay.
uint32_t _uiPing
Current ping in the UI.
EntityBuilder & _worldBuilder
Reference to the world entity builder.
void handleEvent(const sf::Event &event) override
Handle an incoming event.
graphics::UiFactory & _uiFactory
UI Factory for creating UI components.
ecs::Entity _hudFps
Entity for displaying FPS in the HUD.
bool _chatOpen
Whether expanded chat is open.
uint32_t _uiFps
Current FPS in the UI.
void onExit(void) override
Called when the scene is exited.
ChangeStateFn _changeState
Function to change the game state.
ecs::Entity _chatCompactPanel
Compact chat background panel.
void onEnter(void) override
Called when the scene is entered.
TranslationManager & _translationManager
Reference to the translation manager.
void spawnParallax(void)
Spawn parallax background entities.
ecs::Entity _hudHealth
Entity for displaying health.
bool _hudInit
Flag indicating if HUD is initialized.
float _fpsTimer
FPS timer accumulator.
ecs::Entity _hudEntities
Parent entity for HUD elements.
float _chargeTime
Local charge timer for HUD.
ecs::Entity _chatHistoryText
Text entity for chat history.
ecs::Entity _hudAmmo
Entity for displaying ammo.
Settings & _settings
Reference to the application settings.
ecs::Entity _chatPanel
Expanded chat panel.
void update(float dt) override
Update the scene state.
ecs::Entity _chatCompactText
Text entity for last chat message.
NetworkSyncSystem & _network
Reference to the client network.
ecs::Registry & _uiRegistry
Reference to the ECS registry.
ecs::Entity _hudScore
Entity for displaying score in the HUD.
ecs::Entity _hudPing
Entity for displaying ping in the HUD.
ecs::Registry & _worldRegistry
Reference to the world ECS registry.
uint32_t _fpsFrames
FPS frame count.
ecs::Entity _hudChargeBar
Entity for charged shot HUD bar.
uint32_t _uiScore
Player score in the UI.
void sendChatMessage(void)
void updateChatHistoryText(void)
std::function< void(GameState)> ChangeStateFn
Type alias for a function that changes the game state.
ecs::Entity _chatInput
Text input entity for chat.
Represents an entity in the ECS (Entity-Component-System) architecture.