![]() |
Diarkis C++Client Library API Document
|
Room機能を簡単に利用するためにIDiarkisRoomクラスをラップする基本クラス [詳解]
#include <DiarkisRoomBase.h>
公開メンバ関数 | |
DiarkisRoomBase () | |
DiarkisRoomBaseコンストラクタ [詳解] | |
virtual | ~DiarkisRoomBase () |
DiarkisRoomBaseのデストラクタ [詳解] | |
virtual void | SetupTcpRoom (const std::shared_ptr< IDiarkisTcp > &tcp, const std::shared_ptr< LoggerFactory > &loggerFactory, bool bRetry) |
TCPプロトコルを使用してRoomをセットアップします。 [詳解] | |
virtual void | SetupUdpRoom (const std::shared_ptr< IDiarkisUdp > &udp, const std::shared_ptr< LoggerFactory > &loggerFactory, const std::shared_ptr< DiarkisP2PBase > &p2pBase, bool bRetry) |
UDPプロトコルでRoomをセットアップします。 [詳解] | |
std::shared_ptr< IDiarkisRoom > | GetRoom () |
IDiarkisRoomクラスへのポインタを取得します。 [詳解] | |
void | SetJoinRoomID (const char *roomID) |
Room IDを設定します。 [詳解] | |
void | SetJoinRoomID (const std::string &roomID) |
SetJoinRoomID()と同じです [詳解] | |
virtual void | SendCreateRoom (uint16_t maxMembers, bool allowEmpty, bool join, uint16_t ttl, uint32_t interval) |
新しいRoomを作成します。 [詳解] | |
virtual void | SendJoinRoom (const char *uid) |
ルームに参加します。 [詳解] | |
virtual void | SendJoinRoom (const std::string &uid) |
SendJoinRoom(const char*)と同じです [詳解] | |
virtual void | SendJoinRoom (const char *roomID, const char *uid) |
virtual void | SendJoinRoom (const std::string &roomID, const std::string &uid) |
SendJoinRoom(const char*, const char*)と同じです [詳解] | |
virtual void | SendJoinRandomRoom (const char *uid, uint32_t maxMembers, uint16_t ttl, uint32_t interval, bool allowEmpty) |
利用可能な場合はRoomに参加し、そうでない場合は新しいRoomを作成します。 [詳解] | |
virtual void | SendJoinRandomRoom (const std::string &uid, uint32_t maxMembers, uint16_t ttl, uint32_t interval, bool allowEmpty) |
SendJoinRandomRoom()と同じ [詳解] | |
virtual void | SendBroadcastToRoom (const uint8_t *payload, size_t payloadSize, bool reliable) |
自分自身を含むすべてのRoomメンバーにメッセージを送信する。 [詳解] | |
virtual void | SendBroadcastToRoom (const std::vector< uint8_t > &payload, bool reliable) |
SendBroadcastToRoom()と同じです [詳解] | |
virtual void | SendMessageToRoom (const char **memberIDs, size_t memberIDsCount, const uint8_t *payload, size_t payloadSize, bool reliable) |
特定のメンバーにメッセージを送信します。 [詳解] | |
virtual void | SendMessageToRoom (const std::vector< std::string > &memberIDs, const std::vector< uint8_t > &payload, bool reliable) |
SendMessageToRoom()と同じ [詳解] | |
virtual void | SendRelay (const uint8_t *payload, size_t payloadSize, bool reliable) |
自分以外のRoomメンバーにメッセージを送信します。 [詳解] | |
virtual void | SendRelay (const std::vector< uint8_t > &payload, bool reliable) |
SendRelay()と同じです [詳解] | |
virtual void | SendRelayTo (const char **memberIDs, size_t memberIDsCount, const uint8_t *payload, size_t payloadSize, bool reliable) |
ルームに参加している特定のメンバーにメッセージを送信します。 [詳解] | |
virtual void | SendRelayTo (const std::vector< std::string > &memberIDs, const std::vector< uint8_t > &payload, bool reliable) |
SendRelayTo()と同じです [詳解] | |
virtual void | SendLeaveRoom (const char *uid) |
Roomを退出します。 [詳解] | |
virtual void | SendLeaveRoom (const std::string &uid) |
SendLeaveRoom()と同じ [詳解] | |
virtual void | SendFindByTypeRoom (uint32_t roomType, uint32_t limit) |
同じタイプのRoomを検索します。 [詳解] | |
virtual void | SendRegisterRoom (uint32_t roomType, const char *roomName, const char *roomMetadata) |
参加しているRoomに関する追加情報を登録します。 [詳解] | |
virtual void | SendRegisterRoom (uint32_t roomType, const std::string &roomName, const std::string &roomMetadata) |
SendRegisterRoom()と同じです [詳解] | |
virtual void | SendMigrateRoom (void) |
ルームを別のサーバーに移動します。 [詳解] | |
virtual void | SendGetOwnerID (void) |
RoomのオーナーのユーザーIDを取得します。 [詳解] | |
virtual void | SendGetMemberIDs (void) |
Roomに参加しているメンバーのユーザーIDのリストを取得します。 [詳解] | |
virtual void | SendGetNumberOfMembers (void) |
Room内のメンバーの数を取得します。 [詳解] | |
virtual void | SendUpdateProperties (const std::unordered_map< std::string, std::vector< uint8_t >> &properties, bool sync=false) |
Roomのプロパティを設定します。 [詳解] | |
virtual void | SendGetProperties (const char **propertyNames, size_t propertyNamesCount) |
Roomのプロパティを取得します。 [詳解] | |
virtual void | SendGetProperties (const std::vector< std::string > &propertyNames) |
SendGetProperties()と同じです [詳解] | |
virtual void | SendIncrementProperty (Diarkis::StdString propertyName, int64_t delta, bool sync) |
指定されたRoomのプロパティの値を増やしたり減らしたりします。 [詳解] | |
virtual void | SendReserveRoom (const char **userIDs, size_t userIDsCount) |
ルームに参加するメンバーを予約します。 [詳解] | |
virtual void | SendReserveRoom (const std::vector< std::string > &userIDs) |
SendReserveRoom()と同じです [詳解] | |
virtual void | SendCancelReservationRoom (const char *cancelRoomID, const char **userIDs, size_t userIDsCount) |
Roomの予約をキャンセルします。 [詳解] | |
virtual void | SendCancelReservationRoom (const std::string &cancelRoomID, const std::vector< std::string > &userIDs) |
SendCancelReservationRoom()と同じ [詳解] | |
virtual void | SendChatMessage (const char *message) |
Roomメンバーにチャットメッセージを送信します。 [詳解] | |
virtual void | SendChatMessage (const std::string &message) |
SendChatMessage()と同じです [詳解] | |
virtual void | SendGetChatLog (void) |
過去のチャットメッセージを取得する。 [詳解] | |
virtual void | SendStartP2PSync (uint8_t linkedClients=0) |
Roomに参加しているメンバーとのP2P通信を開始します。 [詳解] | |
virtual void | SendUpdateObject (RoomObjectMode mode, const std::string &name, const std::unordered_map< std::string, double > &obj, bool reliable=true) |
Roomオブジェクトを更新します。 [詳解] | |
bool | IsJoin () |
Roomに参加しているかどうか [詳解] | |
bool | IsFail () |
ルームに参加に失敗したかどうか [詳解] | |
bool | IsFind () |
FindRoomsByType によって Room が見つかったかどうか [詳解] | |
bool | IsNotFind () |
FindRoomsByTypeによってRoomが見つからなかったかどうか [詳解] | |
bool | IsMigrate () |
Roomが移行中かどうか [詳解] | |
bool | IsLeave () |
あなたがRoomを去ったかどうか [詳解] | |
bool | IsReserve () |
Roomを予約したかどうか [詳解] | |
Diarkis::StdString | GetRoomID (void) |
参加しているRoomのRoom IDを取得します。 [詳解] | |
Diarkis::StdString | GetOwnerUID (void) |
参加しているRoomのオーナーのユーザーIDを取得します。 [詳解] | |
Diarkis::StdString | GetOwnUID (void) const |
自分のユーザーIDを取得します。 [詳解] | |
void | SetOwnUID (const char *uid) |
自分のユーザーIDを設定します。 [詳解] | |
void | SetOwnUID (const std::string &uid) |
SetOwnUID()と同じです [詳解] | |
void | GetRoomMembers (Diarkis::StdVector< Diarkis::StdString > &memberList) |
RoomのメンバーのユーザーIDを取得します。 [詳解] | |
const Diarkis::StdVector< Diarkis::StdString > & | GetRoomMembers () const |
ルームのメンバーのユーザーIDを取得する。 [詳解] | |
限定公開メンバ関数 | |
virtual void | OnRoomCreation (const DiarkisRoomCreationEventArgs &e) |
Roomが作成されたときに呼び出されるコールバック関数。 [詳解] | |
virtual void | OnRoomJoin (const DiarkisRoomJoinEventArgs &e) |
Roomに参加した時に呼ばれるコールバック関数 [詳解] | |
virtual void | OnRoomLeave (const DiarkisRoomSuccessEventArgs &e) |
Room を抜けた時に呼び出されるコールバック関数 [詳解] | |
virtual void | OnRoomMigrateStart (void) |
Room マイグレーションが開始されるときに呼び出されるコールバック関数。 [詳解] | |
virtual void | OnRoomMigrateComplete (const DiarkisRoomMigrateCompleteEventArgs &e) |
Roomの移行が完了したときに呼び出されるコールバック関数 [詳解] | |
virtual void | OnRoomMemberJoin (const DiarkisPayloadEventArgs &e) |
別のクライアントがRoomに参加したときに呼び出されるコールバック関数 [詳解] | |
virtual void | OnRoomMemberLeave (const DiarkisPayloadEventArgs &e) |
RoomメンバーがRoomを退出するときに呼び出されるコールバック関数 [詳解] | |
virtual void | OnRoomUpdateProperties (const DiarkisRoomSuccessEventArgs &e) |
UpdatePropertiesでプロパティが更新されるときに呼び出されるコールバック関数。 [詳解] | |
virtual void | OnRoomGetProperties (const DiarkisRoomPropertiesEventArgs &e) |
GetPropertiesでプロパティが取得されたときに呼び出されるコールバック関数。 [詳解] | |
virtual void | OnRoomUpdateSyncProperties (const DiarkisRoomPropertiesEventArgs &e) |
UpdateProperties でプロパティが更新されたときに呼び出されるコールバック関数です。 [詳解] | |
virtual void | OnRoomIncrementProperty (const DiarkisRoomIncrementPropertyEventArgs &e) |
IncrementPropertyでプロパティが変更されたときに呼び出されるコールバック関数です。 [詳解] | |
virtual void | OnRoomIncrementPropertySync (const DiarkisRoomIncrementPropertySyncEventArgs &e) |
virtual void | OnRoomGetOwnerID (const DiarkisRoomGetOwnerIDEventArgs &e) |
参加中のRoomオーナーのユーザーIDが取得されたときに呼び出されるコールバック関数 [詳解] | |
virtual void | OnRoomMemberIDs (const DiarkisRoomMemberIDsEventArgs &e) |
参加しているRoomメンバーのユーザーIDを取得するために呼び出されるコールバック関数 [詳解] | |
virtual void | OnRoomNumberOfMembers (const DiarkisRoomNumberOfMembersEventArgs &e) |
Room内のメンバー数を取得するために呼び出されるコールバック関数 [詳解] | |
virtual void | OnRoomOwnerChange (const DiarkisRoomGetOwnerIDEventArgs &e) |
Roomの所有者が変更された時に呼び出されるコールバック関数 [詳解] | |
virtual void | OnRoomMemberBroadcast (const DiarkisPayloadEventArgs &e) |
ブロードキャストメッセージを受信したときに呼び出されるコールバック関数 [詳解] | |
virtual void | OnRoomMemberMessage (const DiarkisPayloadEventArgs &e) |
MessageToでメッセージを受信した時に呼び出されるコールバック関数 [詳解] | |
virtual void | OnRoomRelay (const DiarkisPayloadEventArgs &e) |
Relayからメッセージを受信したときに呼び出されるコールバック関数 [詳解] | |
virtual void | OnRoomRelayTo (const DiarkisPayloadEventArgs &e) |
RelayToによってメッセージを受信したときに呼び出されるコールバック関数 [詳解] | |
virtual void | OnRoomRegister (const DiarkisRoomPayloadEventArgs &e) |
参加中のRoomに追加情報が登録されたときに呼び出されるコールバック関数 [詳解] | |
virtual void | OnRoomFindByType (const DiarkisRoomFindByTypeEventArgs &e) |
FindRoomsByTypeの検索結果を受信したときに呼び出されるコールバック関数 [詳解] | |
virtual void | OnRoomReserve (const DiarkisRoomPayloadEventArgs &e) |
Reserveに対する応答を受け取った時に呼び出されるコールバック関数 [詳解] | |
virtual void | OnRoomCancelReserve (const DiarkisRoomPayloadEventArgs &e) |
CancelReservationへの応答を受信した時に呼び出されるコールバック関数 [詳解] | |
virtual void | OnChatSyncResponse (const DiarkisRoomPayloadEventArgs &e) |
チャット送信の応答を受信したときに呼び出されるコールバック関数 [詳解] | |
virtual void | OnChatSync (const DiarkisRoomChatEventArgs &e) |
チャットを受信した際に呼び出されるコールバック関数 [詳解] | |
virtual void | OnRoomChatLog (const DiarkisRoomChatLogEventArgs &e) |
GetChatLogの応答を受信したときに呼び出されるコールバック関数 [詳解] | |
virtual void | OnStartP2PSync (const DiarkisP2PEventArgs &e) |
StartP2PSyncプッシュ通知を受信したときに呼び出されるコールバック関数 [詳解] | |
virtual void | OnRoomObjectUpdate (const DiarkisRoomObjectUpdateEventArgs &e) |
UpdateObject プッシュが受信されたときに呼び出されるコールバックイベント [詳解] | |
virtual void | OnRoomObjectUpdateResponse (const DiarkisRoomObjectUpdateResponseEventArgs &e) |
Roomオブジェクトの更新に対する応答が受信されたときに呼び出されるコールバックイベントです。 [詳解] | |
virtual void | OnOffline () |
サーバーがシャットダウンの準備ができているときに呼び出されるコールバックイベント [詳解] | |
限定公開変数類 | |
std::shared_ptr< IDiarkisTcp > | tcp_ |
IDiarkisTcpクラスへのポインタ [詳解] | |
std::shared_ptr< IDiarkisUdp > | udp_ |
IDiarkisUdpクラスへのポインタ [詳解] | |
std::shared_ptr< IDiarkisRoom > | room_ |
IDiarkisRoom クラスへのポインター [詳解] | |
std::shared_ptr< DiarkisP2PBase > | p2pBase_ |
DiarkisP2PBaseクラスへのポインタ [詳解] | |
std::shared_ptr< IDiarkisLogger > | logger_ |
IDiarkisLoggerクラスへのポインタ [詳解] | |
Diarkis::StdVector< std::function< void()> > | eventUnsubscriptions_ |
ラムダ関数のリスト [詳解] | |
Diarkis::StdString | roomID_ |
参加しているRoomのRoom ID [詳解] | |
ConnectState | roomConnect_ |
Roomの状態 [詳解] | |
std::recursive_mutex | list_mutex_ |
roomMemberIDsのミューテックス [詳解] | |
Diarkis::StdVector< Diarkis::StdString > | roomMemberIDs_ |
RoomメンバーのユーザーIDのリスト [詳解] | |
Diarkis::StdString | ownUID_ |
自分のユーザーID [詳解] | |
Diarkis::StdString | ownerID_ |
RoomオーナーのユーザーID [詳解] | |
int64_t | createAtServer_ |
現在いるRoomがサーバー上で作成された時間 [詳解] | |
bool | bReserved_ |
あなたがRoomを予約したかどうか [詳解] | |
Room機能を簡単に利用するためにIDiarkisRoomクラスをラップする基本クラス
DiarkisRoomBase::DiarkisRoomBase | ( | ) |
DiarkisRoomBaseコンストラクタ
|
virtual |
DiarkisRoomBaseのデストラクタ
|
virtual |
TCPプロトコルを使用してRoomをセットアップします。
ロガーとコールバック関数を登録します。
[in] | tcp | IDiarkisTcpクラスへのポインタ |
[in] | loggerFactory | ロガークラスへのポインタ |
[in] | bRetry | Roomに参加しようと失敗した後に再接続する場合はtrueでこの関数を呼び出します。最初の呼び出しはfalseでなければなりません。 |
|
virtual |
UDPプロトコルでRoomをセットアップします。
ロガーとコールバック関数を登録します。
[in] | udp | IDiarkisUdpクラスへのポインタ |
[in] | loggerFactory | クライアントライブラリ用のRoomログ |
[in] | p2pBase | DiarkisP2PBaseクラスへのポインタ |
[in] | bRetry | Roomに参加する際に失敗した後の再接続時にtrueでこの関数を呼び出します。最初の呼び出しはfalseである必要があります。 |
std::shared_ptr< IDiarkisRoom > DiarkisRoomBase::GetRoom | ( | ) |
IDiarkisRoomクラスへのポインタを取得します。
void DiarkisRoomBase::SetJoinRoomID | ( | const char * | roomID | ) |
Room IDを設定します。
[in] | roomID | 設定するRoom ID |
void DiarkisRoomBase::SetJoinRoomID | ( | const std::string & | roomID | ) |
|
virtual |
新しいRoomを作成します。
GetCreateEvent() で登録されたコールバックイベント(たとえば RoomCreation)がトリガーされます。
[in] | maxMembers | 作成されるRoomに参加できるクライアントの最大数。 |
[in] | allowEmpty | クライアントが一人も参加していなくてもRoomを保持するかどうかを決定します。 |
[in] | join | 作成後にRoomに参加するかどうかを決定します。 true = 作成後にRoomに参加します。サーバーからJoinレスポンスは送信されません。 false = Roomを作成のみします。Roomに参加する場合は別途Joinを行う必要があります。 |
[in] | ttl | 空になった後のRoomの期間を秒単位で指定します。allowEmptyにtrueが指定されている場合のみ使用されます。 |
[in] | interval | サーバーがBroadcastメッセージなどを処理する間隔をミリ秒単位で指定します。 intervalの値が大きい場合、サーバーの負荷が軽減されますが、メッセージの受信に遅延が生じます。intervalの値が小さい場合、 サーバーの負荷が増加しますが、メッセージはサーバーから直ちに送信されます。 デフォルト値は200ミリ秒です。 |
|
virtual |
ルームに参加します。
GetJoinEvent() で登録したコールバックイベント(例:OnRoomJoin)がトリガーされます。
ルームのメンバーに関連する GetMemberJoinEvent() で登録したコールバックイベント(例:OnRoomMemberJoin)がトリガーされます。 uid で指定したユーザー ID は、コールバックイベントから受け取ることができます。
[in] | uid | あなたのユーザー ID |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
利用可能な場合はRoomに参加し、そうでない場合は新しいRoomを作成します。
新しいRoomが作成されると、GetCreateEvent()で登録されたコールバックイベント(例:OnRoomCreation)と
GetJoinEvent()で登録されたコールバックイベント(例:OnRoomJoin)がトリガされます。
既存のRoomに参加する際には、GetJoinEvent()で登録されたコールバックイベントのみがトリガされます。
[in] | uid | あなたのユーザーID |
[in] | maxMembers | 作成されるRoomに参加できるクライアントの最大数。 |
[in] | ttl | Roomが空になってからの秒数を、allowEmptyがtrueに設定されている場合にのみ使用。 |
[in] | interval | サーバーがメッセージを処理する間隔をミリ秒単位で指定します。 メッセージは、サーバーで指定された間隔時間ごとにまとめて送信されます。 intervalの値が大きいと、サーバー負荷が軽減されますが、メッセージの受信に遅延が生じます。 intervalの値が小さいと、サーバー負荷が増加しますが、メッセージはサーバーから直ちに送信されます。 デフォルト値は200 msです。 |
[in] | allowEmpty | 誰も参加していない場合でもクライアントがRoomを維持するかどうかを決定します。 |
|
virtual |
|
virtual |
自分自身を含むすべてのRoomメンバーにメッセージを送信する。
GetMemberBroadcastEvent() で登録されたコールバックイベント(例:OnRoomMemberBroadcast)をトリガーします。
[in] | payload | 送信するメッセージ |
[in] | payloadSize | ペイロードの長さ |
[in] | reliable | メッセージを信頼性のある通信(RUDP)経由で送信するかどうかを決定します;TCPプロトコルでは無視されます。 |
|
virtual |
|
virtual |
特定のメンバーにメッセージを送信します。
GetMemberMessageEvent() で登録されたコールバックイベント(例:OnRoomMemberMessage)がトリガーされます。
[in] | memberIDs | 送信するメンバーのユーザーIDのリスト |
[in] | memberIDsCount | memberIDの数 |
[in] | payload | 送信するメッセージ |
[in] | payloadSize | ペイロードの長さ |
[in] | reliable | メッセージが信頼性のある通信(RUDP)を介して送信されるかどうかを決定します。TCPプロトコルの場合は無視されます。 |
|
virtual |
|
virtual |
自分以外のRoomメンバーにメッセージを送信します。
ブロードキャストとは異なり、メッセージはサーバーによってコンパイルされません。
GetRelayEvent()で登録されたコールバックイベント(例:OnRelay)がトリガーされます。
[in] | payload | 送信するメッセージ |
[in] | payloadSize | ペイロードの長さ |
[in] | reliable | メッセージが信頼性のある通信(RUDP)を介して送信されるかどうかを決定します。TCPプロトコルには無視されます。 |
|
virtual |
|
virtual |
ルームに参加している特定のメンバーにメッセージを送信します。
MessageToとは異なり、メッセージはサーバーによってコンパイルされません。
GetRelayToEvent()で登録されたコールバックイベント(例:OnRelayTo)がトリガーされます。
[in] | memberIDs | 送信するメンバーのユーザーIDのリスト |
[in] | memberIDsCount | memberIDの数 |
[in] | payload | 送信するメッセージ |
[in] | payloadSize | ペイロードの長さ |
[in] | reliable | メッセージが信頼性のある通信(RUDP)を介して送信されるかどうかを決定します;TCPプロトコルでは無視されます。 |
|
virtual |
|
virtual |
Roomを退出します。
GetLeaveEvent()で登録されたコールバックイベント(例:OnRoomLeave)がトリガーされます。
ルームからの退出が成功した場合、GetMemberLeaveEvent()で登録されたコールバックイベント(例:OnRoomMemberLeave)が
Roomの各メンバーでトリガーされます。
[in] | uid | 自分のユーザーID |
|
virtual |
|
virtual |
同じタイプのRoomを検索します。
GetFindByTypeEvnet()で登録されたコールバックイベント(例:OnRoomFindByType)がトリガーされます。
コールバックイベントでは、検索結果としてRoomのリストを受け取ることができます。
[in] | roomType | 検索するRoomのタイプ |
[in] | limit | 検索結果のリスト内のRoomの最大数 |
|
virtual |
参加しているRoomに関する追加情報を登録します。
FindRoomsByTypeでのRoomの検索に影響を与えます。
[in] | roomType | Roomの種類 |
[in] | roomName | Roomの名前 |
[in] | roomMetadata | Roomの拡張文字列 |
|
virtual |
|
virtual |
ルームを別のサーバーに移動します。
ルームのオーナーだけがこの関数を呼び出すことができます。
成功補には、サーバーからルームの各メンバーに通知が送信され、
GetMigrateEvent()(例:OnRoomMigrate)で登録されたコールバックイベントがトリガーされます。
ライブラリは内部的に現在参加しているルームから離れて、新しいルームに参加します。
|
virtual |
RoomのオーナーのユーザーIDを取得します。
GetOwnerIDEvent()で登録されたコールバックイベント(例:OnGetOwnerID)がトリガーされます。
|
virtual |
Roomに参加しているメンバーのユーザーIDのリストを取得します。
GetMemberIDSEvent() で登録されたコールバックイベント(例:OnRoomMemberIDs)がトリガーされます。
|
virtual |
Room内のメンバーの数を取得します。
GetNumberOfMembersEvent()で登録されたコールバックイベント(例:OnRoomNumberOfMembers)がトリガーされます。
|
virtual |
Roomのプロパティを設定します。
GetUpdatePropertiesEvent()で登録されたコールバックイベント(例:OnRoomUpdateProperties)がトリガーされます。
[in] | properties | 登録するプロパティとデータを指定します。 |
[in] | sync | 他のクライアントに通知されるかどうかを決定します。 |
|
virtual |
Roomのプロパティを取得します。
GetGetPropertiesEvent()で登録されたコールバックイベント(例:OnRoomGetProperties)がトリガーされます。
[in] | propertyNames | 取得するプロパティの名前を指定します。 |
[in] | propertyNamesCount | プロパティ名の数 |
|
virtual |
|
virtual |
指定されたRoomのプロパティの値を増やしたり減らしたりします。
GetIncrementPropertyEvent() で登録されたコールバックイベント(例:OnRoomIncrementProperty)がトリガーされます。
[in] | propertyName | 増やすもしくは減らすプロパティの名前。 |
[in] | delta | 増やすもしくは減らす値のサイズ |
[in] | sync | 他のクライアントに通知されるかどうかを決定します。 trueの場合、GetIncrementPropertySyncEvent() で登録されたコールバックイベントがトリガーされます。 |
|
virtual |
ルームに参加するメンバーを予約します。
GetReserveEvent() で登録されたコールバックイベント(例:OnRoomReserve)がトリガーされます。
[in] | userIDs | 予約するメンバーのユーザーIDのリスト。 |
[in] | userIDsCount | ユーザーIDの数 |
|
virtual |
|
virtual |
Roomの予約をキャンセルします。
GetCancelReservationEvent()で登録されたコールバックイベント(例:OnRoomReserve)がトリガーされます。
[in] | cancelRoomID | キャンセルするRoomのRoom ID |
[in] | userIDs | キャンセルするメンバーのユーザーIDのリスト |
[in] | userIDsCount | ユーザーIDの数 |
|
virtual |
|
virtual |
Roomメンバーにチャットメッセージを送信します。
メッセージはサーバーに保存され、過去のメッセージはGetChatLog()を使用して取得することができます。
この関数を実行するクライアントは、GetChatSyncResponseEvent()で登録されているコールバックイベント(例:OnRoomResponseSync)をトリガーします。
メンバーは、GetChatSyncEvent()で登録されているコールバックイベント(例:OnRoomChatSync)をトリガーします。
[in] | message | 送信するメッセージ |
|
virtual |
|
virtual |
過去のチャットメッセージを取得する。
GetChatLogEvent() で登録されたコールバックイベント(例: OnRoomChatLog)が発生します。
|
virtual |
Roomに参加しているメンバーとのP2P通信を開始します。
GetStartP2PSyncEvent()で登録されたコールバックイベント(例:OnStartP2PSync)をトリガーします。
コールバックイベントでピアアドレスのリストを受け取ります。
この関数はRoomのメンバーのうちの1人だけが実行する必要があります。
[in] | linkedClients | P2P接続を確立するクライアントの数を指定します。 0 = マッチしたメンバー全員のアドレスを受け取ります。 n = マッチしたメンバーの中からn人のランダムに選択されたメンバーのアドレスを受け取ります。 |
|
virtual |
Roomオブジェクトを更新します。
成功した場合、GetObjectUpdateEvent() で登録されたコールバックイベント(例:OnRoomObjectUpdate)がトリガーされます。
通知は、自分を含むRoomのすべてのメンバーに送信されます。
[in] | mode | オブジェクトを操作するモード。 |
[in] | name | オブジェクトの名前 |
[in] | obj | キーと値のリストでオブジェクトを指定します。 例:obj["x"] = 123.4; 例:obj["y"] = 567.8; 例:obj["hp"] = 300.0; mode が OBJ_DEL_MODE の場合、このパラメータは使用されません(対象のオブジェクトは削除されるため)。 |
[in] | reliable | 信頼性のある通信(RUDP経由)で送信するかどうかを決定します。TCPプロトコルでは無視されます。 |
bool DiarkisRoomBase::IsJoin | ( | ) |
Roomに参加しているかどうか
bool DiarkisRoomBase::IsFail | ( | ) |
ルームに参加に失敗したかどうか
bool DiarkisRoomBase::IsFind | ( | ) |
FindRoomsByType によって Room が見つかったかどうか
bool DiarkisRoomBase::IsNotFind | ( | ) |
FindRoomsByTypeによってRoomが見つからなかったかどうか
bool DiarkisRoomBase::IsMigrate | ( | ) |
Roomが移行中かどうか
bool DiarkisRoomBase::IsLeave | ( | ) |
あなたがRoomを去ったかどうか
bool DiarkisRoomBase::IsReserve | ( | ) |
Roomを予約したかどうか
Diarkis::StdString DiarkisRoomBase::GetRoomID | ( | void | ) |
参加しているRoomのRoom IDを取得します。
Diarkis::StdString DiarkisRoomBase::GetOwnerUID | ( | void | ) |
参加しているRoomのオーナーのユーザーIDを取得します。
Diarkis::StdString DiarkisRoomBase::GetOwnUID | ( | void | ) | const |
自分のユーザーIDを取得します。
void DiarkisRoomBase::SetOwnUID | ( | const char * | uid | ) |
自分のユーザーIDを設定します。
[in] | uid | ユーザーID |
void DiarkisRoomBase::SetOwnUID | ( | const std::string & | uid | ) |
void DiarkisRoomBase::GetRoomMembers | ( | Diarkis::StdVector< Diarkis::StdString > & | memberList | ) |
RoomのメンバーのユーザーIDを取得します。
[in] | memberList | 結果を書き込む配列 |
const Diarkis::StdVector< Diarkis::StdString > & DiarkisRoomBase::GetRoomMembers | ( | ) | const |
ルームのメンバーのユーザーIDを取得する。
|
protectedvirtual |
Roomが作成されたときに呼び出されるコールバック関数。
サーバーからRoom作成の応答を受け取ったときに呼び出されます。
|
protectedvirtual |
Roomに参加した時に呼ばれるコールバック関数
サーバーからRoom Joinの応答を受信した時に呼ばれる。
|
protectedvirtual |
Room を抜けた時に呼び出されるコールバック関数
サーバーから Room Leave レスポンスを受信した時に呼び出されます。
|
protectedvirtual |
Room マイグレーションが開始されるときに呼び出されるコールバック関数。
Room オーナーが Migrate を実行すると、サーバーから各メンバーに通知されます。
|
protectedvirtual |
Roomの移行が完了したときに呼び出されるコールバック関数
|
protectedvirtual |
別のクライアントがRoomに参加したときに呼び出されるコールバック関数
|
protectedvirtual |
RoomメンバーがRoomを退出するときに呼び出されるコールバック関数
|
protectedvirtual |
UpdatePropertiesでプロパティが更新されるときに呼び出されるコールバック関数。
|
protectedvirtual |
GetPropertiesでプロパティが取得されたときに呼び出されるコールバック関数。
|
protectedvirtual |
UpdateProperties でプロパティが更新されたときに呼び出されるコールバック関数です。
|
protectedvirtual |
IncrementPropertyでプロパティが変更されたときに呼び出されるコールバック関数です。
|
protectedvirtual |
|
protectedvirtual |
参加中のRoomオーナーのユーザーIDが取得されたときに呼び出されるコールバック関数
|
protectedvirtual |
参加しているRoomメンバーのユーザーIDを取得するために呼び出されるコールバック関数
|
protectedvirtual |
Room内のメンバー数を取得するために呼び出されるコールバック関数
|
protectedvirtual |
Roomの所有者が変更された時に呼び出されるコールバック関数
|
protectedvirtual |
ブロードキャストメッセージを受信したときに呼び出されるコールバック関数
|
protectedvirtual |
MessageToでメッセージを受信した時に呼び出されるコールバック関数
|
protectedvirtual |
Relayからメッセージを受信したときに呼び出されるコールバック関数
|
protectedvirtual |
RelayToによってメッセージを受信したときに呼び出されるコールバック関数
|
protectedvirtual |
参加中のRoomに追加情報が登録されたときに呼び出されるコールバック関数
|
protectedvirtual |
FindRoomsByTypeの検索結果を受信したときに呼び出されるコールバック関数
|
protectedvirtual |
Reserveに対する応答を受け取った時に呼び出されるコールバック関数
|
protectedvirtual |
CancelReservationへの応答を受信した時に呼び出されるコールバック関数
|
protectedvirtual |
チャット送信の応答を受信したときに呼び出されるコールバック関数
|
protectedvirtual |
チャットを受信した際に呼び出されるコールバック関数
|
protectedvirtual |
GetChatLogの応答を受信したときに呼び出されるコールバック関数
|
protectedvirtual |
StartP2PSyncプッシュ通知を受信したときに呼び出されるコールバック関数
@ ~Japanese
|
protectedvirtual |
UpdateObject プッシュが受信されたときに呼び出されるコールバックイベント
|
protectedvirtual |
Roomオブジェクトの更新に対する応答が受信されたときに呼び出されるコールバックイベントです。
|
protectedvirtual |
サーバーがシャットダウンの準備ができているときに呼び出されるコールバックイベント
|
protected |
IDiarkisTcpクラスへのポインタ
|
protected |
IDiarkisUdpクラスへのポインタ
|
protected |
IDiarkisRoom クラスへのポインター
|
protected |
DiarkisP2PBaseクラスへのポインタ
|
protected |
IDiarkisLoggerクラスへのポインタ
|
protected |
ラムダ関数のリスト
|
protected |
参加しているRoomのRoom ID
|
protected |
Roomの状態
|
protected |
roomMemberIDsのミューテックス
|
protected |
RoomメンバーのユーザーIDのリスト
|
protected |
自分のユーザーID
~@japanese
|
protected |
RoomオーナーのユーザーID
|
protected |
現在いるRoomがサーバー上で作成された時間
|
protected |
あなたがRoomを予約したかどうか