R-Type
Distributed multiplayer game engine in C++
Loading...
Searching...
No Matches
server::IRoomManager Class Referenceabstract

Interface for managing game rooms. More...

#include <IRoomManager.hpp>

Inheritance diagram for server::IRoomManager:
Inheritance graph
Collaboration diagram for server::IRoomManager:
Collaboration graph

Public Member Functions

virtual ~IRoomManager ()=default
 
virtual std::shared_ptr< RoomcreateRoom (const std::string &id, const std::string &name="", size_t maxPlayers=4, bool isPrivate=false, float gameSpeedMultiplier=1.0f)=0
 Create a new room.
 
virtual std::shared_ptr< RoomgetRoom (const std::string &id)=0
 Retrieve a room by ID.
 
virtual bool removeRoom (const std::string &id)=0
 Remove a room by ID.
 
virtual std::vector< std::shared_ptr< Room > > getAllRooms ()=0
 Get all active rooms.
 
virtual std::vector< std::shared_ptr< Room > > getPublicRooms ()=0
 Get all public rooms (not private)
 
virtual size_t getRoomCount () const =0
 Get number of active rooms.
 
virtual bool update (float deltaTime)=0
 Update all rooms (called by server loop)
 

Detailed Description

Interface for managing game rooms.

Definition at line 21 of file IRoomManager.hpp.

Constructor & Destructor Documentation

◆ ~IRoomManager()

virtual server::IRoomManager::~IRoomManager ( )
virtualdefault

Member Function Documentation

◆ createRoom()

virtual std::shared_ptr< Room > server::IRoomManager::createRoom ( const std::string &  id,
const std::string &  name = "",
size_t  maxPlayers = 4,
bool  isPrivate = false,
float  gameSpeedMultiplier = 1.0f 
)
pure virtual

Create a new room.

Parameters
idRoom identifier
nameDisplay name (optional)
maxPlayersMaximum players (default: 4)
isPrivateWhether room is private (default: false)
gameSpeedMultiplierGame speed multiplier (0.25 to 1.0, default: 1.0)
Returns
Shared pointer to created room

Implemented in server::RoomManager.

◆ getAllRooms()

virtual std::vector< std::shared_ptr< Room > > server::IRoomManager::getAllRooms ( )
pure virtual

Get all active rooms.

Returns
Vector of room pointers

Implemented in server::RoomManager.

◆ getPublicRooms()

virtual std::vector< std::shared_ptr< Room > > server::IRoomManager::getPublicRooms ( )
pure virtual

Get all public rooms (not private)

Returns
Vector of public room pointers

Implemented in server::RoomManager.

◆ getRoom()

virtual std::shared_ptr< Room > server::IRoomManager::getRoom ( const std::string &  id)
pure virtual

Retrieve a room by ID.

Parameters
idRoom identifier
Returns
Shared pointer to the room (nullptr if not found)

Implemented in server::RoomManager.

◆ getRoomCount()

virtual size_t server::IRoomManager::getRoomCount ( ) const
pure virtual

Get number of active rooms.

Returns
Room count

Implemented in server::RoomManager.

◆ removeRoom()

virtual bool server::IRoomManager::removeRoom ( const std::string &  id)
pure virtual

Remove a room by ID.

Parameters
idRoom identifier
Returns
true if room was removed

Implemented in server::RoomManager.

◆ update()

virtual bool server::IRoomManager::update ( float  deltaTime)
pure virtual

Update all rooms (called by server loop)

Parameters
deltaTimeTime since last update
Returns
true if room list changed (e.g. room removed)

Implemented in server::RoomManager.


The documentation for this class was generated from the following file: