Diarkis C++Client Library API Document
DiarkisFieldBase クラス

Field​機能を簡単に使用するためにIDiarkisFieldクラスをラップするベースクラス [詳解]

#include <DiarkisFieldBase.h>

DiarkisFieldBase 連携図

公開メンバ関数

 DiarkisFieldBase ()
 DiarkisFieldBaseのコンストラクタ [詳解]
 
virtual ~DiarkisFieldBase ()
 DiarkisFieldBaseデストラクタ [詳解]
 
virtual void SetupTcpField (const std::shared_ptr< IDiarkisTcp > &tcp, const std::shared_ptr< LoggerFactory > &loggerFactory)
 TCPプロトコルでFieldをセットアップします。 [詳解]
 
virtual void SetupUdpField (const std::shared_ptr< IDiarkisUdp > &udp, const std::shared_ptr< LoggerFactory > &loggerFactory)
 UDPプロトコルを使用したFieldの設定 [詳解]
 
virtual void SendFieldJoin (int64_t x, int64_t y, int64_t z, const uint8_t *payload, size_t payloadSize, uint32_t syncLimit, uint32_t customFilterID, bool reliable)
 参加フィールド。 [詳解]
 
virtual void SendFieldJoin (int64_t x, int64_t y, int64_t z, const std::vector< uint8_t > &payload, uint32_t syncLimit, uint32_t customFilterID, bool reliable)
 SendFieldJoin()と同じです [詳解]
 
virtual void SendFieldSync (int64_t x, int64_t y, int64_t z, const uint8_t *payload, size_t payloadSize, uint32_t syncLimit, uint32_t customFilterID, bool reliable)
 フィールド内の他のクライアントにデータを送信します。 [詳解]
 
virtual void SendFieldSync (int64_t x, int64_t y, int64_t z, const std::vector< uint8_t > &payload, uint32_t syncLimit, uint32_t customFilterID, bool reliable)
 
virtual void SendFieldDisappear ()
 
virtual void SendFieldLeave ()
 フィールドを離れることを通知します。 [詳解]
 

限定公開メンバ関数

virtual void OnJoin (const DiarkisSuccessEventArgs &e)
 フィールドに参加したときに呼び出されるコールバックイベント [詳解]
 
virtual void OnSync (const Diarkis::StdVector< uint8_t > &payload)
 フィールド内の近くのクライアントの位置を同期する際に呼ばれるコールバックイベント [詳解]
 
virtual void OnDisappear (const Diarkis::StdString &remoteUid)
 受信したときに呼び出されるコールバックイベント [詳解]
 
virtual void OnLeave (const DiarkisSuccessEventArgs &e)
 フィールドから退出するときに呼び出される応答コールバックイベントです。 [詳解]
 

限定公開変数類

std::shared_ptr< IDiarkisTcptcp_
 IDiarkisTcpクラスへのポインタ [詳解]
 
std::shared_ptr< IDiarkisUdpudp_
 IDiarkisUdpクラスへのポインター [詳解]
 
std::shared_ptr< IDiarkisFieldfield_
 IDiarkisFieldクラスへのポインタ [詳解]
 
std::shared_ptr< IDiarkisLoggerlogger_
 IDiarkisLoggerクラスへのポインター [詳解]
 
Diarkis::StdVector< std::function< void()> > eventUnsubscriptions_
 ラムダ関数のリスト [詳解]
 
ConnectState fieldConnect_
 Fieldの状態 [詳解]
 

詳解

Field​機能を簡単に使用するためにIDiarkisFieldクラスをラップするベースクラス

構築子と解体子

◆ DiarkisFieldBase()

DiarkisFieldBase::DiarkisFieldBase ( )

DiarkisFieldBaseのコンストラクタ

呼び出し関係図:

◆ ~DiarkisFieldBase()

DiarkisFieldBase::~DiarkisFieldBase ( )
virtual

DiarkisFieldBaseデストラクタ

関数詳解

◆ SetupTcpField()

void DiarkisFieldBase::SetupTcpField ( const std::shared_ptr< IDiarkisTcp > &  tcp,
const std::shared_ptr< LoggerFactory > &  loggerFactory 
)
virtual

TCPプロトコルでFieldをセットアップします。

ロガーとコールバック関数を登録します。

引数
[in]tcpIDiarkisTcpクラスへのポインタ
[in]loggerFactoryロガークラスへのポインタ
呼び出し関係図:

◆ SetupUdpField()

void DiarkisFieldBase::SetupUdpField ( const std::shared_ptr< IDiarkisUdp > &  udp,
const std::shared_ptr< LoggerFactory > &  loggerFactory 
)
virtual

UDPプロトコルを使用したFieldの設定

ロガーとコールバック関数を登録します。

引数
[in]udpIDiarkisUdpクラスへのポインタ
[in]loggerFactoryロガークラスへのポインタ
呼び出し関係図:

◆ SendFieldJoin() [1/2]

void DiarkisFieldBase::SendFieldJoin ( int64_t  x,
int64_t  y,
int64_t  z,
const uint8_t *  payload,
size_t  payloadSize,
uint32_t  syncLimit,
uint32_t  customFilterID,
bool  reliable 
)
virtual

参加フィールド。

GetJoinEvent() で登録されたコールバックイベント(例:OnJoin)がトリガーされます。

引数
[in]xx フィールド(幅)内の X 座標の値
[in]yy フィールド(奥行き)内の Y 座標の値
[in]zz フィールド(空間レベルの差異、高さではない)内の Z 座標の値
[in]payload他のクライアントに送信するデータの配列
[in]payloadSizeペイロードの長さ
[in]syncLimit同期の回数
[in]customFilterID同期中にサーバーで定義されたフィルター関数の使用を示します。 0 はフィルター関数が使用されていないことを示します。
[in]reliable信頼できる通信(RUDP 経由)で送信するかどうかを決定します。TCP プロトコルでは無視されます。
被呼び出し関係図:

◆ SendFieldJoin() [2/2]

void DiarkisFieldBase::SendFieldJoin ( int64_t  x,
int64_t  y,
int64_t  z,
const std::vector< uint8_t > &  payload,
uint32_t  syncLimit,
uint32_t  customFilterID,
bool  reliable 
)
virtual

SendFieldJoin()と同じです

呼び出し関係図:

◆ SendFieldSync() [1/2]

void DiarkisFieldBase::SendFieldSync ( int64_t  x,
int64_t  y,
int64_t  z,
const uint8_t *  payload,
size_t  payloadSize,
uint32_t  syncLimit,
uint32_t  customFilterID,
bool  reliable 
)
virtual

フィールド内の他のクライアントにデータを送信します。

GetSyncEvent() で登録されたコールバックイベント(例:OnSync)がトリガーされます。

引数
[in]xフィールド内のX座標の値(幅)
[in]yフィールド内のY座標の値(奥行き)
[in]zフィールド内のZ座標の値(高さではなく、空間の差異)
[in]payload他のクライアントに送信するデータの配列
[in]payloadSizeペイロードの長さ
[in]syncLimit同期の回数
[in]customFilterIDサーバーが同期中に定義したフィルター関数の使用を示します。
0 はフィルター関数が使用されないことを示します。
[in]reliable信頼性のある通信(RUDP)で送信するかどうかを決定します。TCPプロトコルには無視されます。
呼び出し関係図:
被呼び出し関係図:

◆ SendFieldSync() [2/2]

void DiarkisFieldBase::SendFieldSync ( int64_t  x,
int64_t  y,
int64_t  z,
const std::vector< uint8_t > &  payload,
uint32_t  syncLimit,
uint32_t  customFilterID,
bool  reliable 
)
virtual
呼び出し関係図:

◆ SendFieldDisappear()

void DiarkisFieldBase::SendFieldDisappear ( )
virtual

◆ SendFieldLeave()

void DiarkisFieldBase::SendFieldLeave ( )
virtual

フィールドを離れることを通知します。

◆ OnJoin()

void DiarkisFieldBase::OnJoin ( const DiarkisSuccessEventArgs e)
protectedvirtual

フィールドに参加したときに呼び出されるコールバックイベント

呼び出し関係図:

◆ OnSync()

void DiarkisFieldBase::OnSync ( const Diarkis::StdVector< uint8_t > &  payload)
protectedvirtual

フィールド内の近くのクライアントの位置を同期する際に呼ばれるコールバックイベント

引数
[in]payloadペイロードデータ
呼び出し関係図:

◆ OnDisappear()

void DiarkisFieldBase::OnDisappear ( const Diarkis::StdString remoteUid)
protectedvirtual

受信したときに呼び出されるコールバックイベント

引数
[in]remoteUid消えたメンバーのユーザーID

◆ OnLeave()

void DiarkisFieldBase::OnLeave ( const DiarkisSuccessEventArgs e)
protectedvirtual

フィールドから退出するときに呼び出される応答コールバックイベントです。

呼び出し関係図:

メンバ詳解

◆ tcp_

std::shared_ptr<IDiarkisTcp> DiarkisFieldBase::tcp_
protected

IDiarkisTcpクラスへのポインタ

◆ udp_

std::shared_ptr<IDiarkisUdp> DiarkisFieldBase::udp_
protected

IDiarkisUdpクラスへのポインター

◆ field_

std::shared_ptr<IDiarkisField> DiarkisFieldBase::field_
protected

IDiarkisFieldクラスへのポインタ

◆ logger_

std::shared_ptr<IDiarkisLogger> DiarkisFieldBase::logger_
protected

IDiarkisLoggerクラスへのポインター

◆ eventUnsubscriptions_

Diarkis::StdVector<std::function<void()> > DiarkisFieldBase::eventUnsubscriptions_
protected

ラムダ関数のリスト

◆ fieldConnect_

ConnectState DiarkisFieldBase::fieldConnect_
protected

Fieldの状態


このクラス詳解は次のファイルから抽出されました: