7 #ifndef __MUN_MASTER_MATCHING_ROOM_HPP__ 8 #define __MUN_MASTER_MATCHING_ROOM_HPP__ 73 void SetId(uint64
id) { m_Id = id; }
85 void SetName(std::string name) { m_Name = name; }
156 if( m_RoomParameters.size() > 0 )
158 for( std::map<std::string, STREAM::Union>::iterator itr = m_RoomParameters.begin(); m_RoomParameters.end() != itr; ++itr ) {
161 for(std::vector<std::string>::iterator lobby_itr = m_LobbyParameters.begin();
162 m_LobbyParameters.end()!=lobby_itr;lobby_itr++){
163 if(itr->first == *lobby_itr){
197 if( m_RoomParameters.size() > 0 )
199 for( std::map<std::string, STREAM::Union>::iterator itr = m_RoomParameters.begin(); m_RoomParameters.end() != itr; ++itr ) {
206 if( m_LobbyParameters.size() > 0 )
208 for( std::vector<std::string>::iterator itr = m_LobbyParameters.begin(); m_LobbyParameters.end() != itr; ++itr ) {
226 if( m_PlayersInRoom.size() == 0 )
return NULL;
227 std::map< int32, MatchingPlayerInRoom >::iterator itr = m_PlayersInRoom.find(
id);
228 return ( m_PlayersInRoom.end() != itr ) ? &(itr->second) : NULL;
247 m_PlayersInRoom.erase( playerId );
262 if ( ! m_IsNeedHostPlayer ){
266 m_HostId = ( 0 == m_PlayersInRoom.size() ) ? 0 : m_PlayersInRoom.begin()->first;
293 void SetRoomParameters(std::map< std::string, STREAM::Union >& roomParameters) { m_RoomParameters = roomParameters; }
301 m_RoomParameters.clear();
302 for( uint16 index = 0; index < roomParametersLen; index++ ) {
303 m_RoomParameters[pRoomParameters[index].
key.
text] = pRoomParameters[index].value;
317 void SetLobbyParameters(std::vector< std::string >& lobbyParameters) { m_LobbyParameters = lobbyParameters; }
325 m_LobbyParameters.clear();
326 for( uint16 index = 0; index < lobbyParametersLen; index++ ) {
327 m_LobbyParameters.push_back(pLobbyParameters[index].text);
336 std::map<std::string, STREAM::Union> roomParameters;
338 for( std::vector<std::string>::iterator itr = m_LobbyParameters.begin(); m_LobbyParameters.end() != itr; ++itr ) {
339 if( m_RoomParameters.end() == m_RoomParameters.find( *itr ) )
continue;
340 roomParameters.insert( std::pair<std::string, STREAM::Union>( *itr, m_RoomParameters[ *itr ] ) );
342 return roomParameters;
375 MatchingRoom( uint64
id = 0, std::string name =
"", uint64 lobbyId = 0,
bool isVisible =
true,
bool isOpen =
true, uint32 maxPlayers = 0, uint64 roomUid = 0,
bool isNeedHostPlayer =
true )
380 m_IsVisible = isVisible;
382 m_MaxPlayers = maxPlayers;
388 m_IsNeedHostPlayer = isNeedHostPlayer;
void SetRoomParameters(STREAM::KeyValue *pRoomParameters, uint16 roomParametersLen)
ルームパラメータの設定.
Definition: MunMasterMatchingRoom.hpp:300
uint8 isOpen
他プレイヤーのルーム入室を許可するかどうかのフラグ.
Definition: MunStream.hpp:1292
MatchingRoom(uint64 id=0, std::string name="", uint64 lobbyId=0, bool isVisible=true, bool isOpen=true, uint32 maxPlayers=0, uint64 roomUid=0, bool isNeedHostPlayer=true)
コンストラクタ.
Definition: MunMasterMatchingRoom.hpp:375
Text name
ルーム名.
Definition: MunStream.hpp:1463
uint8 isVisible
ルーム情報をロビーに通知するかどうかのフラグ.
Definition: MunStream.hpp:1290
KeyValue roomParameters[ROOM_PARAMETERS_MAX]
ルームパラメータ.
Definition: MunStream.hpp:1475
uint16 roomParametersLen
ルームパラメータの登録数.
Definition: MunStream.hpp:1477
uint8 isOpen
他プレイヤーのルーム入室を許可するかどうかのフラグ.
Definition: MunStream.hpp:1469
uint32 maxPlayers
ルーム内プレイヤー人数の上限.
Definition: MunStream.hpp:1288
KeyValue roomParameters[ROOM_PARAMETERS_MAX]
ルームパラメータ.
Definition: MunStream.hpp:1298
void GetInfo(STREAM::RoomInfo &info)
RPCルーム情報の取得.
Definition: MunMasterMatchingRoom.hpp:177
void SetIsOpen(bool isOpen)
他プレイヤーのルーム入室を許可するかどうかのフラグの設定.
Definition: MunMasterMatchingRoom.hpp:121
uint64 GetLobbyId()
所属するロビーIDの取得.
Definition: MunMasterMatchingRoom.hpp:91
uint64 GetRoomUid()
mun_roomサーバ上の識別ユニークIDの取得.
Definition: MunMasterMatchingRoom.hpp:349
std::string m_Name
ルーム名.
Definition: MunMasterMatchingRoom.hpp:27
int32 m_HostId
ホストID.
Definition: MunMasterMatchingRoom.hpp:45
bool IsRandomJoinable(uint32 maxPlayers=0)
このルームにランダム入室可能かどうかを調べる.
Definition: MunMasterMatchingRoom.cpp:16
uint64 m_LobbyId
所属するロビーID.
Definition: MunMasterMatchingRoom.hpp:30
uint32 GetMaxPlayers()
ルームに入室可能なプレイヤー人数の上限の取得.
Definition: MunMasterMatchingRoom.hpp:127
uint64 GetId()
ルームIDの取得.
Definition: MunMasterMatchingRoom.hpp:67
std::map< int32, MatchingPlayerInRoom > * GetPlayers()
このルーム内にいる全てのプレイヤー情報の取得.
Definition: MunMasterMatchingRoom.hpp:218
bool m_IsNeedHostPlayer
ホストプレイヤーが必要かどうかのフラグ.
Definition: MunMasterMatchingRoom.hpp:60
void SetName(std::string name)
ルーム名の設定.
Definition: MunMasterMatchingRoom.hpp:85
std::map< std::string, STREAM::Union > m_RoomParameters
ルームパラメータ.
Definition: MunMasterMatchingRoom.hpp:51
#define MRSEXT_LOG_ERR(_format,...)
mrs拡張ログ入力(ERR).
Definition: MunLogger.hpp:65
任意のKey-Valueペア.
Definition: MunStream.hpp:602
bool GetIsNeedHostPlayer()
ホストプレイヤーが必要かどうかのフラグの取得.
Definition: MunMasterMatchingRoom.hpp:361
void SetLobbyParameters(std::vector< std::string > &lobbyParameters)
ロビー通知パラメータの設定.
Definition: MunMasterMatchingRoom.hpp:317
void SetId(uint64 id)
ルームIDの設定.
Definition: MunMasterMatchingRoom.hpp:73
std::string GetName()
ルーム名の取得.
Definition: MunMasterMatchingRoom.hpp:79
int32 GetNextPlayerId()
次に入室するプレイヤーに割り当てられるプレイヤーIDの取得.
Definition: MunMasterMatchingRoom.hpp:281
std::vector< std::string > & GetLobbyParameters()
ロビー通知パラメータの取得.
Definition: MunMasterMatchingRoom.hpp:311
int32 hostId
ホストID.
Definition: MunStream.hpp:1294
Text key
キー情報.
Definition: MunStream.hpp:606
std::map< int32, MatchingPlayerInRoom > m_PlayersInRoom
このルーム内にいるプレイヤー情報.
Definition: MunMasterMatchingRoom.hpp:42
Text name
ルーム名.
Definition: MunStream.hpp:1286
void SetRoomUid(uint64 roomUid)
mun_roomサーバ上の識別ユニークIDの設定.
Definition: MunMasterMatchingRoom.hpp:355
uint32 playersLen
プレイヤーの登録数.
Definition: MunStream.hpp:1296
uint8 isVisible
ルーム情報をロビーに通知するかどうかのフラグ.
Definition: MunStream.hpp:1467
uint32 playersLen
プレイヤーの登録数.
Definition: MunStream.hpp:1473
uint64 m_Id
ルームID.
Definition: MunMasterMatchingRoom.hpp:24
uint64 m_RoomUid
mun_roomサーバ上の識別ユニークID.
Definition: MunMasterMatchingRoom.hpp:57
std::string text
可変長テキスト実体.
Definition: MunStream.hpp:335
bool m_IsOpen
他プレイヤーのルーム入室を許可するかどうかのフラグ.
Definition: MunMasterMatchingRoom.hpp:36
uint16 lobbyParametersLen
ロビー通知パラメータの登録数.
Definition: MunStream.hpp:1304
std::map< std::string, STREAM::Union > GetVisibleRoomParameters()
ロビー通知対象となるルームパラメータの取得.
Definition: MunMasterMatchingRoom.hpp:335
void SetLobbyParameters(STREAM::Text *pLobbyParameters, uint16 lobbyParametersLen)
ロビー通知パラメータの設定.
Definition: MunMasterMatchingRoom.hpp:324
uint32 m_MaxPlayers
ルームに入室可能なプレイヤー人数の上限。0であれば無制限となる.
Definition: MunMasterMatchingRoom.hpp:39
1つのルームに対して設定可能な、ロビー通知カスタムパラメータの最大数.
Definition: MunStream.hpp:274
void SetHostId(int32 hostId)
ホストIDの設定.
Definition: MunMasterMatchingRoom.hpp:275
Text lobbyParameters[LOBBY_PARAMETERS_MAX]
ロビー通知パラメータ.
Definition: MunStream.hpp:1302
bool GetSummaryInfo(STREAM::SummaryRoomInfo &info)
ルーム統計情報の取得.
Definition: MunMasterMatchingRoom.hpp:140
void SetRoomParameters(std::map< std::string, STREAM::Union > &roomParameters)
ルームパラメータの設定.
Definition: MunMasterMatchingRoom.hpp:293
void SetMaxPlayers(uint32 maxPlayers)
ルームに入室可能なプレイヤー人数の上限の設定.
Definition: MunMasterMatchingRoom.hpp:133
bool GetIsOpen()
他プレイヤーのルーム入室を許可するかどうかのフラグの取得.
Definition: MunMasterMatchingRoom.hpp:115
マッチングルーム内プレイヤー情報.
Definition: MunMasterMatchingPlayerInRoom.hpp:16
std::vector< std::string > m_LobbyParameters
ロビー通知パラメータ.
Definition: MunMasterMatchingRoom.hpp:54
int32 GetHostId()
ホストIDの取得.
Definition: MunMasterMatchingRoom.hpp:254
uint16 roomParametersLen
ルームパラメータの登録数.
Definition: MunStream.hpp:1300
void AddPlayer(int32 playerId, uint32 clientId, std::string clientName, MatchingPlayerInRoom &player)
指定されたプレイヤーIDの入室処理(ルーム内プレイヤー情報として加える).
Definition: MunMasterMatchingRoom.hpp:238
ルーム統計情報.
Definition: MunStream.hpp:1459
uint16 GetParametersLen()
プレイヤーパラメータの登録数の取得.
Definition: MunMasterMatchingPlayerInRoom.hpp:69
uint32 maxPlayers
ルーム内プレイヤー人数の上限.
Definition: MunStream.hpp:1465
マッチングルーム情報.
Definition: MunMasterMatchingRoom.hpp:20
STREAM::KeyValue * GetParameters()
プレイヤーパラメータの取得.
Definition: MunMasterMatchingPlayerInRoom.hpp:63
void SetIsVisible(bool isVisible)
ルーム情報をロビーに通知するかどうかのフラグの設定.
Definition: MunMasterMatchingRoom.hpp:109
ルーム内に入室可能なプレイヤーの最大数.
Definition: MunStream.hpp:271
void SetLobbyId(uint64 lobbyId)
所属するロビーIDの設定.
Definition: MunMasterMatchingRoom.hpp:97
mun_masterサーバのマッチングルーム内プレイヤー情報の制御.
virtual ~MatchingRoom()
デストラクタ.
Definition: MunMasterMatchingRoom.hpp:394
bool m_IsVisible
ルーム情報をロビーに通知するかどうかのフラグ.
Definition: MunMasterMatchingRoom.hpp:33
可変長テキスト.
Definition: MunStream.hpp:331
void RemovePlayer(int32 playerId)
指定されたプレイヤーIDの退室処理(ルーム内プレイヤー情報から削除する).
Definition: MunMasterMatchingRoom.hpp:246
bool GetIsVisible()
ルーム情報をロビーに通知するかどうかのフラグの取得.
Definition: MunMasterMatchingRoom.hpp:103
1つのルームに対して設定可能な、ルームカスタムパラメータの最大数.
Definition: MunStream.hpp:273
ルーム情報.
Definition: MunStream.hpp:1282
int32 m_NextPlayerId
次に入室するプレイヤーに割り当てられるプレイヤーID.
Definition: MunMasterMatchingRoom.hpp:48
std::map< std::string, STREAM::Union > & GetRoomParameters()
ルームパラメータの取得.
Definition: MunMasterMatchingRoom.hpp:287
MatchingPlayerInRoom * GetPlayer(int32 id)
指定されたプレイヤーIDを持つルーム内プレイヤー情報の取得.
Definition: MunMasterMatchingRoom.hpp:225
int32 hostId
ホストID.
Definition: MunStream.hpp:1471