Main multiplayer game client plugin for R-Type. More...
#include <RTypeClientMulti.hpp>
Inheritance diagram for gme::RTypeClientMulti:
Collaboration diagram for gme::RTypeClientMulti:Public Member Functions | |
| RTypeClientMulti ()=default | |
| Default constructor. | |
| ~RTypeClientMulti () override=default | |
| Destructor. | |
| RTypeClientMulti (const RTypeClientMulti &)=delete | |
| Deleted copy constructor (non-copyable) | |
| RTypeClientMulti & | operator= (const RTypeClientMulti &)=delete |
| Deleted copy assignment operator (non-copyable) | |
| RTypeClientMulti (RTypeClientMulti &&)=delete | |
| Deleted move constructor (non-movable) | |
| RTypeClientMulti & | operator= (RTypeClientMulti &&)=delete |
| Deleted move assignment operator (non-movable) | |
| const std::string | getName () const override |
| Get plugin name. | |
| utl::PluginType | getType () const override |
| Get plugin type. | |
| void | init (eng::Engine &engine, utl::cli::AppConfig &appConfig, bool &showDebug, const eng::id menuSceneId, const eng::id winSceneId) override |
| Initialize the multiplayer client plugin. | |
| void | update (float deltaTime, unsigned int width, unsigned int height) override |
| Update the multiplayer client plugin (called each frame) | |
| unsigned int | getMainSceneId () const override |
| Get the main scene ID. | |
Public Member Functions inherited from utl::IPlugin | |
| virtual | ~IPlugin ()=default |
Private Member Functions | |
| void | setupScenes (bool &showDebug, eng::id menuSceneId) |
| Setup all multiplayer game scenes. | |
Private Attributes | |
| eng::Engine * | m_engine = nullptr |
| Pointer to the game engine. | |
| utl::cli::AppConfig * | m_appConfig = nullptr |
| Pointer to application configuration. | |
| bool | m_showDebug = false |
| Debug mode flag. | |
| eng::id | m_mainSceneId = 1 |
| ID of the main multiplayer scene. | |
Main multiplayer game client plugin for R-Type.
This class serves as the entry point for the R-Type multiplayer client plugin. It manages:
The plugin integrates with the engine's plugin system and provides a complete multiplayer game experience including server browser, lobby system, and networked gameplay.
Definition at line 36 of file RTypeClientMulti.hpp.
|
default |
Default constructor.
|
overridedefault |
Destructor.
|
delete |
Deleted copy constructor (non-copyable)
|
delete |
Deleted move constructor (non-movable)
|
inlinenodiscardoverridevirtual |
Get the main scene ID.
Implements gme::IGameClient.
Definition at line 117 of file RTypeClientMulti.hpp.
References m_mainSceneId.
|
inlinenodiscardoverridevirtual |
Get plugin name.
Implements utl::IPlugin.
Definition at line 74 of file RTypeClientMulti.hpp.
|
inlinenodiscardoverridevirtual |
Get plugin type.
Implements utl::IPlugin.
Definition at line 80 of file RTypeClientMulti.hpp.
References utl::GAME_CLIENT.
|
inlineoverridevirtual |
Initialize the multiplayer client plugin.
| engine | Reference to the game engine |
| appConfig | Application configuration |
| showDebug | Debug mode flag |
| menuSceneId | ID of the main menu scene to return to |
Sets up all multiplayer-specific scenes including:
Implements gme::IGameClient.
Definition at line 96 of file RTypeClientMulti.hpp.
References m_appConfig, m_engine, m_showDebug, and setupScenes().
Here is the call graph for this function:
|
delete |
Deleted copy assignment operator (non-copyable)
|
delete |
Deleted move assignment operator (non-movable)
|
private |
Setup all multiplayer game scenes.
| showDebug | Debug mode flag |
| menuSceneId | ID of the main menu scene |
Creates and registers all scenes required for multiplayer gameplay:
Definition at line 15 of file rtypeClientMulti.cpp.
References utl::INFO, utl::Logger::log(), gme::WaitingRoomScene::setIsHost(), gme::WaitingRoomScene::setLobbyId(), and gme::WaitingRoomScene::setLobbyInfo().
Referenced by init().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Update the multiplayer client plugin (called each frame)
| deltaTime | Time elapsed since last frame (in seconds) |
| width | Current window width |
| height | Current window height |
Performs frame-by-frame updates for multiplayer functionality
Implements gme::IGameClient.
Definition at line 13 of file rtypeClientMulti.cpp.
|
private |
Pointer to application configuration.
Definition at line 134 of file RTypeClientMulti.hpp.
Referenced by init().
|
private |
Pointer to the game engine.
Definition at line 133 of file RTypeClientMulti.hpp.
Referenced by init().
|
private |
ID of the main multiplayer scene.
Definition at line 136 of file RTypeClientMulti.hpp.
Referenced by getMainSceneId().
|
private |