モジュールの初期化は initialize() 関数で行う。 この関数は、MatchServer::setRoomModule() の中から呼び出される。
初期化成功ならば真を返す。
bool SampleRoomModule::initialize()
{
return true;
}
サンプルでは特に処理は初期化処理は不要なので何もしていない。
RoomModule は RoomModuleConfig という構造体を保持している。 マッチングシステムは RoomModule の RoomModuleConfig を参照して扱いを変更する。
class RoomModule
{
protected:
RoomModuleConfig m_cfg;
struct RoomModuleConfig
{
int numRooms; //!< 部屋数。
bool standalone; //!< ゲームサーバーを使わず、全部屋をモジュールで処理する場合に真とする。
inline RoomModuleConfig() {
standalone = false;
numRooms = 8;
}
};
RoomModuleConfig の設定は、initialize() の中で m_cfg を操作することで行う。
サンプルの ChatRoomModule はゲームサーバーを必要としないので、standalone を真としている。
bool ChatRoomModule::initialize()
{
m_cfg.standalone = true;
return true;
}