8#ifndef RTYPE_CLIENT_CORE_APPLICATION_HPP_
9 #define RTYPE_CLIENT_CORE_APPLICATION_HPP_
11#include <SFML/Graphics.hpp>
12#include <SFML/System.hpp>
18#include <unordered_map>
49#include "Systems/NetworkSyncSystem.hpp"
105 Application(
const std::string& serverIp, uint16_t serverPort);
153 void update(sf::Time delta);
Logger declaration with support for multiple log levels.
Declaration of the 2-dimensional vector class.
Main application class for the R-Type client.
ecs::Registry _worldRegistry
ECS registry for the game world.
bool _shaderLoaded
Flag indicating if the shader was loaded successfully.
float _lastDt
Last delta time value.
ecs::SystemManager _worldSystemManager
ECS system manager for the game world.
void initScenes(void)
Initialize all application scenes.
EntityBuilder _worldEntityBuilder
Entity builder for world entities.
std::unordered_map< GameState, std::unique_ptr< interfaces::IScene > > _scenes
Map of game states to their corresponding scenes.
void update(sf::Time delta)
Update the application state.
ecs::SystemManager _uiSystemManager
ECS system manager for the UI.
EntityBuilder _uiEntityBuilder
Entity builder for UI entities.
void setupSettingsCallbacks()
Setup callbacks for settings changes.
void processInput(void)
Handle input events.
ecs::Registry _uiRegistry
ECS registry for the UI.
sf::RenderTexture _renderTexture
Render texture for off-screen rendering.
ClientNetwork _clientNetwork
Client network manager.
graphics::UiFactory _uiFactory
UI Factory for creating UI components.
void changeState(GameState newState)
Change the current game state and active scene.
sf::Shader _colorblindShader
Shader for colorblind mode.
void initWorldECS(void)
Initialize the ECS and systems for the game world.
sf::RenderWindow _window
SFML render window.
void initUiSystems(void)
Initialize the game world systems.
Settings _settings
Application settings manager.
AssetManager _assetManager
Asset manager for textures and fonts.
void initUiECS(void)
Initialize the ECS and systems for the UI.
void initWorldSystems(void)
Initialize the UI systems.
void run(void)
Run the main application loop.
void render(void)
Render the current scene.
GameState _currentState
Current game state.
interfaces::IScene * _activeScene
Pointer to the currently active scene.
TranslationManager _translations
Translation manager for localization.
Manages loading and storage of graphical assets.
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.
Constants related to the UI.
constexpr float WINDOW_WIDTH
Standard window width.
constexpr float WINDOW_HEIGHT
Standard window height.
@ NotInit
Uninitialized state.