Photon Unity Networking 2  v2.1
English | 日本語 | 한국
Public Member Functions | Public Attributes | Properties | List of all members
ChatClient Class Reference

チャンネルとメッセージを接続、処理するPhoton Chat APIの中心クラス。 More...

Inherits IPhotonPeerListener.

Public Member Functions

bool CanChatInChannel (string channelName)
 このクライアントがパブリックチャンネル内でメッセージを公開する準備ができているかどうかを確認します。 More...
 
 ChatClient (IChatClientListener listener, ConnectionProtocol protocol=ConnectionProtocol.Udp)
 Chatクライアントコンストラクター。 More...
 
bool ConnectUsingSettings (ChatAppSettings appSettings)
 
bool Connect (string appId, string appVersion, AuthenticationValues authValues)
 このクライアントをPhoton Chat Cloudサービスに接続します。PhotonChat Cloudサービスはユーザーも認証します(そしてUserIdを設定します)。 More...
 
bool ConnectAndSetStatus (string appId, string appVersion, AuthenticationValues authValues, int status=ChatUserStatus.Online, object message=null)
 このクライアントをPhoton Chat Cloudサービスに接続します。PhotonChat Cloudサービスはユーザーも認証します(そしてUserIdを設定します)。 また、接続するとオンラインステータスが設定されます。 デフォルトでは、ユーザーステータスはChatUserStatus.Onlineに設定されます。 詳細はSetOnlineStatus(int,object) をご確認ください。 More...
 
void Service ()
 クライアントとサーバー間の接続を維持し、着信メッセージを処理するには、定期的に呼び出す必要があります。 More...
 
void SendAcksOnly ()
 廃止:UseBackgroundWorkerForSendingおよびService()を使用するべき。 More...
 
void Disconnect (ChatDisconnectCause cause=ChatDisconnectCause.DisconnectByClientLogic)
 「切断コマンド」を送信してチャットサーバーから切断します。これにより、サーバー側でタイムアウトが発生しなくなります。 More...
 
void StopThread ()
 Chatサーバーへの接続をローカルでシャットダウンします。これはローカルで状態をリセットしますが、サーバーはこのピアをタイムアウトする必要があります。 More...
 
bool Subscribe (string[] channels)
 名前からチャンネルのリストをサブスクライブする操作を送信。 More...
 
bool Subscribe (string[] channels, int[] lastMsgIds)
 名前からチャンネルのリストにサブスクライブする操作を送信し、サブスクライブ解除中に受信しなかったメッセージを取得する場合もあります。 More...
 
bool Subscribe (string[] channels, int messagesFromHistory)
 クライアントをチャンネルにサブスクライブする操作を送信し、任意でキャッシュから多数のメッセージをフェッチします。 More...
 
bool Unsubscribe (string[] channels)
 チャンネルのリストから購読を解除して、チャンネルからのメッセージの受信を停止します。 More...
 
bool PublishMessage (string channelName, object message, bool forwardAsWebhook=false)
 このクライアントがサブスクライブしたパブリックチャンネルにメッセージを送信します。 More...
 
bool SendPrivateMessage (string target, object message, bool forwardAsWebhook=false)
 1人のターゲットユーザーにプライベートメッセージを送信します。 受信クライアントでOnPrivateMessageを呼び出します。 More...
 
bool SendPrivateMessage (string target, object message, bool encrypt, bool forwardAsWebhook)
 1人のターゲットユーザーにプライベートメッセージを送信します。 受信クライアントでOnPrivateMessageを呼び出します。 More...
 
bool SetOnlineStatus (int status)
 ステータスメッセージを変更せずにユーザーのステータスを設定します。 More...
 
bool SetOnlineStatus (int status, object message)
 ステータスメッセージを変更せずにユーザーのステータスを設定します。 More...
 
bool AddFriends (string[] friends)
 Chatサーバーのリストに友達を追加し、それらのステータスの更新を送信します。 More...
 
bool RemoveFriends (string[] friends)
 指定されたエントリをChatサーバーのリストから削除し、ステータスの更新を停止します。 More...
 
string GetPrivateChannelNameByUser (string userName)
 このクライアントと別のユーザー間のChatの(ローカルで使用される)チャンネル名を取得します。 More...
 
bool TryGetChannel (string channelName, bool isPrivate, out ChatChannel channel)
 名前によるプライベートまたはパブリックチャンネルへの簡単なアクセス。 More...
 
bool TryGetPrivateChannelByUser (string userId, out ChatChannel channel)
 ターゲットユーザーによるプライベートチャンネルへの簡単なアクセス。 More...
 
bool Subscribe (string channel, int lastMsgId=0, int messagesFromHistory=-1, ChannelCreationOptions creationOptions=null)
 単一のチャンネルをサブスクライブし、任意で、チャンネルが作成された場合にその既知のチャンネルプロパティを設定します。 More...
 

Public Attributes

const int DefaultMaxSubscribers = 100
 ChatChannel.PublishSubscribersが有効な場合、ChatChannel.MaxSubscribersに設定できるデフォルトの最高値 More...
 
int MessageLimit
 0より大きい場合、新しいチャンネルはローカルにキャッシュするメッセージの数を制限します。 More...
 
readonly Dictionary< string,
ChatChannel
PublicChannels
 このクライアントがサブスクライブしている公開チャンネル。 More...
 
readonly Dictionary< string,
ChatChannel
PrivateChannels
 このクライアントがメッセージを交換したプライベートチャンネル。 More...
 
ChatPeer chatPeer = null
 このクライアントが使用するChatピア。 More...
 

Properties

string NameServerAddress [get]
 最後に接続されたネームサーバーのアドレス。 More...
 
string FrontendAddress [get]
 NameServerから割り当てられた実際のチャットサーバーのアドレス。 読み取り専用で公開。 More...
 
string ChatRegion [get, set]
 接続する前にのみ設定可能! デフォルトは「EU」です。 More...
 
ChatState State [get]
 ChatClientの現在の状態。CanChatも使用します。 More...
 
ChatDisconnectCause DisconnectedCause [get]
 切断の原因。IChatClientListener.OnDisconnected内でご確認ください。 More...
 
bool CanChat [get]
 このクライアントがメッセージを送信する準備ができているかどうかを確認します。 More...
 
string AppVersion [get]
 クライアントのバージョン。新しいバージョンでは、プレーヤーを古いクライアントバージョンから分離するための新しい「仮想アプリ」も作成されます。 More...
 
string AppId [get]
 Photon Cloudから割り当てられたAppID。 More...
 
AuthenticationValues AuthValues [get, set]
 接続する前にのみ設定可能! More...
 
string UserId [get]
 AuthValues.UserIdに保存されているユーザー/個人の一意のID。接続する前に設定してください。 More...
 
bool UseBackgroundWorkerForSending [get, set]
 バックグラウンドスレッドがSendOutgoingCommandsを呼び出すかどうかを定義し、コードは受信したメッセージをディスパッチするためにサービスを呼び出します。 More...
 
ConnectionProtocol TransportProtocol [get, set]
 使用されたPhotonPeerのTransportProtocolを公開します。 接続されていないときに設定可能。 More...
 
Dictionary< ConnectionProtocol,
Type > 
SocketImplementationConfig [get]
 ConnectionProtocolごとに使用するIPhotonSocketクラスを定義します。 More...
 
DebugLevel DebugOut [get, set]
 ライブラリが提供するデバッグ出力のレベル(および量)を設定します。 More...
 

Detailed Description

チャンネルとメッセージを接続、処理するPhoton Chat APIの中心クラス。

コールバックを取得するには、このクラスをIChatClientListenerインスタンスでインスタンス化する必要があります。 Serviceを定期的に呼び出すことにより、ゲームループに統合します。ターゲットプラットフォームがThreads / Tasksに対応している場合、 UseBackgroundWorkerForSending = trueを設定して、独立したスレッドから送信することで ChatClientが接続を維持できるようにします。

Photon ChatアプリケーションとしてセットアップされたAppIdでConnectを呼び出します。 注:Connectは、このクライアントとサーバー間の複数のメッセージを対象としています。短いワークフローでチャットサーバーに接続します。

各ChatClientは、チャット(Connectで設定)のユーザーを表します。 各ユーザーは、受信プライベートメッセージのチャンネルを自動的に購読し、他のユーザーにプライベートにメッセージを送信できます。 非プライベートチャンネルでメッセージを公開する前に、そのチャンネルに購読する必要があります。

PublicChannelsは、購読されたチャンネルのリストであり、メッセージと送信者が含まれています。 PrivateChannelsには、すべての受信および送信されたプライベートメッセージが含まれます。

Constructor & Destructor Documentation

ChatClient ( IChatClientListener  listener,
ConnectionProtocol  protocol = ConnectionProtocol.Udp 
)

Chatクライアントコンストラクター。

Parameters
listenerチャットリスナーの実装。
protocolこのクライアントが使用する接続プロトコル。 デフォルトはConnectionProtocol.Udpです。

Member Function Documentation

bool AddFriends ( string[]  friends)

Chatサーバーのリストに友達を追加し、それらのステータスの更新を送信します。

AddFriendsとRemoveFriendsを使用すると、クライアントはPhoton Chatサーバーで 友達リストを処理できます。友達リストにユーザーがいると、現在のオンラインステータス (およびクライアントがそこに設定した情報)にアクセスできます。

各ユーザーは、整数と任意の(シリアル化可能な)オブジェクトで構成される オンラインステータスを設定できます。オブジェクトは、null、Hashtable、object[]、 またはPhotonがシリアル化できるものであれば何でもかまいません。

ステータスは、友達(AddFriendsでユーザーIDを設定した人)に 自動的に公開されます。

Photonはチャットクライアントが切断されるとフレンドリストを フラッシュするため、毎回設定する必要があります。コミュニティAPIで既にオンラインステータスにアクセスできる場合は、 AddFriendsでオンラインの友達をフィルタリングして設定できます。

実際の友達関係は永続的ではなく、Photonの外部に保存する 必要があります。

Parameters
friendsフレンドのユーザーIDの配列。
Returns
操作を送信できた場合。
bool CanChatInChannel ( string  channelName)

このクライアントがパブリックチャンネル内でメッセージを公開する準備ができているかどうかを確認します。

Parameters
channelNameチェックを行うチャンネル。
Returns
このクライアントが、指定されたchannelNameでパブリックチャンネル内にメッセージを公開する準備ができているかどうか。
bool Connect ( string  appId,
string  appVersion,
AuthenticationValues  authValues 
)

このクライアントをPhoton Chat Cloudサービスに接続します。PhotonChat Cloudサービスはユーザーも認証します(そしてUserIdを設定します)。

Parameters
appIdダッシュボードからPhoton Chat AppIdを取得します。
appVersion構成するバージョン文字列。 互換性がない可能性のあるユーザーとクライアントのバリアントを分離するために使用されます。
authValues認証の値。以前にUserIdを設定した場合、このnullのままにしておくことができます。authValuesを設定すると、以前に設定されたUserIdが上書きされます。
Returns
bool ConnectAndSetStatus ( string  appId,
string  appVersion,
AuthenticationValues  authValues,
int  status = ChatUserStatus.Online,
object  message = null 
)

このクライアントをPhoton Chat Cloudサービスに接続します。PhotonChat Cloudサービスはユーザーも認証します(そしてUserIdを設定します)。 また、接続するとオンラインステータスが設定されます。 デフォルトでは、ユーザーステータスはChatUserStatus.Onlineに設定されます。 詳細はSetOnlineStatus(int,object) をご確認ください。

Parameters
appIdダッシュボードからPhoton Chat AppIdを取得します。
appVersion構成するバージョン文字列。 互換性がない可能性のあるユーザーとクライアントのバリアントを分離するために使用されます。
authValues認証の値。以前にUserIdを設定した場合、このnullのままにしておくことができます。authValuesを設定すると、以前に設定されたUserIdが上書きされます。
status接続時に設定するユーザーステータス。 事前定義された状態はクラスChatUserStatusを参照してください。 他の値は自由に使用できます。
messageオプションのステータス。友達が取得できるステータスメッセージの設定も行います。
Returns
接続試行が送信できるかどうか。
void Disconnect ( ChatDisconnectCause  cause = ChatDisconnectCause.DisconnectByClientLogic)

「切断コマンド」を送信してチャットサーバーから切断します。これにより、サーバー側でタイムアウトが発生しなくなります。

string GetPrivateChannelNameByUser ( string  userName)

このクライアントと別のユーザー間のChatの(ローカルで使用される)チャンネル名を取得します。

Parameters
userNameリモートユーザーの名前またはUserId。
Returns
プライベートチャンルの(ローカルで使用される)チャンネル名。

このチャンネルを購読しないでください。 プライベートチャンネルを明示的に購読する必要はありません。 主にデバッグ目的で使用します。

bool PublishMessage ( string  channelName,
object  message,
bool  forwardAsWebhook = false 
)

このクライアントがサブスクライブしたパブリックチャンネルにメッセージを送信します。

チャンネルに公開する前に、チャンネル登録する必要があります。 そのチャンネルの全員がメッセージを受け取ります。

Parameters
channelName公開するチャンネルの名前。
messageメッセージ(文字列またはシリアル化可能なデータ)。
forwardAsWebhook任意で、公開メッセージをWebhookとして転送できます。 これを使用するには、チャットアプリのwebhookを構成します。
Returns
クライアントがまだメッセージを送信する準備ができていない場合はfalse。
bool RemoveFriends ( string[]  friends)

指定されたエントリをChatサーバーのリストから削除し、ステータスの更新を停止します。

チャットクライアントが切断すると、Photonはフレンドリストをフラッシュします。 個々のエントリを削除する場合を除き、Friendsを削除する必要はありません。

AddFriendsとRemoveFriendsを使用すると、クライアントは Photon Chatサーバーで友達リストを処理できます。友達リストにユーザーがいると、 現在のオンラインステータス(およびクライアントがそこに設定した情報)にアクセスできます。

各ユーザーは、整数と任意の(シリアル化可能な)オブジェクトで構成される オンラインステータスを設定できます。 オブジェクトは、null、Hashtable、object[]、 またはPhotonがシリアル化できるものであれば何でもかまいません。

ステータスは、友達(AddFriendsでユーザーIDを設定した人)に 自動的に公開されます。

Photonはチャットクライアントが切断されるとフレンドリストをフラッシュするため、 毎回設定する必要があります。コミュニティAPIで既にオンラインステータスに アクセスできる場合は、AddFriendsでオンラインの友達をフィルタリングして設定できます。

友達の実際の関係は永続的ではなく、Photonの外部に 保存する必要があります。

AddFriendsとRemoveFriendsを使用すると、クライアントはPhoton Chatサーバーで 友達リストを処理できます。友達リストにユーザーがいると、 現在のオンラインステータス(およびクライアントがそこに設定した情報)にアクセスできます。

各ユーザーは、整数と任意の(シリアル化可能な)オブジェクトで構成される オンラインステータスを設定できます。オブジェクトは、null、Hashtable、object[]、 またはPhotonがシリアル化できるものであれば何でもかまいません。

ステータスは、友達(AddFriendsでユーザーIDを設定した人)に 自動的に公開されます。

友達の実際の関係は永続的ではなく、Photonの外部に 保存する必要があります。

Parameters
friends友達のユーザーIDの配列。
Returns
操作を送信できた場合。
void SendAcksOnly ( )

廃止:UseBackgroundWorkerForSendingおよびService()を使用するべき。

bool SendPrivateMessage ( string  target,
object  message,
bool  forwardAsWebhook = false 
)

1人のターゲットユーザーにプライベートメッセージを送信します。 受信クライアントでOnPrivateMessageを呼び出します。

Parameters
targetこのメッセージの送信先のユーザー名。
message送信したいメッセージ。 単純な文字列またはシリアル化可能なものを指定できます。
forwardAsWebhook任意で、プライベートメッセージをwebhookとして転送できます。これを使用するには、チャットアプリのwebhookを構成します。
Returns
このクライアントがサーバーにメッセージを送信できる場合、true。
bool SendPrivateMessage ( string  target,
object  message,
bool  encrypt,
bool  forwardAsWebhook 
)

1人のターゲットユーザーにプライベートメッセージを送信します。 受信クライアントでOnPrivateMessageを呼び出します。

Parameters
targetこのメッセージの送信先のユーザー名。
message送信したいメッセージ。単純な文字列またはシリアル化可能なものを指定できます。
encrypt任意で、プライベートメッセージを暗号化できます。サーバーがメッセージを復号化するため、暗号化はエンドツーエンドではありません。
forwardAsWebhook任意で、プライベートメッセージをwebhookとして転送できます。これを使用するには、チャットアプリのwebhookを構成します。
Returns
このクライアントがサーバーにメッセージを送信できる場合、true。
void Service ( )

クライアントとサーバー間の接続を維持し、着信メッセージを処理するには、定期的に呼び出す必要があります。

このメソッドは、プライベート変数msDeltaForServiceCallsを使用して自動的に行う作業を制限します。 この値は、接続の場合は低く、チャットサーバー接続の準備ができたときに4倍されます。

bool SetOnlineStatus ( int  status)

ステータスメッセージを変更せずにユーザーのステータスを設定します。

定義済みのステータス値は、ChatUserStatusクラスにあります。 State ChatUserStatus.Invisibleは、すべてのユーザーに対してオフラインにし、メッセージを送信しません。

ステータス整数にカスタム値を設定できます。事前に構成されたものとは別に、 すべての状態が表示され、オンラインであると見なされます。そうでない場合、カスタム状態は誰にも表示されません。

このオーバーロードは、設定されたメッセージを変更しません。

Parameters
status定義済みの状態は、クラスChatUserStatusにあります。他の値は自由に使用できます。
Returns
サーバーで操作が呼び出される場合はtrue。
bool SetOnlineStatus ( int  status,
object  message 
)

ステータスメッセージを変更せずにユーザーのステータスを設定します。

定義済みのステータス値は、ChatUserStatusクラスにあります。 State ChatUserStatus.Invisibleは、すべてのユーザーに対してオフラインにし、メッセージを送信しません。

ステータス整数にカスタムの値を設定できます。事前に構成されたものとは別に、 すべての状態が表示され、オンラインであると見なされます。そうでない場合、カスタム状態は誰にも表示されません。

メッセージオブジェクトは、Hashtable、object []、stringなど、 Photonがシリアル化できるものであれば何でもかまいません。 この値は、独自の規則によって定義されます。

Parameters
status定義済みの状態は、クラスChatUserStatusにあります。他の値は自由に使用できます。
messageまた、友達が取得できるステータスメッセージを設定します。
Returns
サーバーで操作が呼び出される場合はtrue。
void StopThread ( )

Chatサーバーへの接続をローカルでシャットダウンします。これはローカルで状態をリセットしますが、サーバーはこのピアをタイムアウトする必要があります。

bool Subscribe ( string[]  channels)

名前からチャンネルのリストをサブスクライブする操作を送信。

Parameters
channels購読するチャンネルのリスト。nullまたは空の値は避けてください。
Returns
操作を送信できるかどうか(例:チャットサーバーに接続されていない場合は失敗します)。
bool Subscribe ( string[]  channels,
int[]  lastMsgIds 
)

名前からチャンネルのリストにサブスクライブする操作を送信し、サブスクライブ解除中に受信しなかったメッセージを取得する場合もあります。

Parameters
channels購読するチャンネルのリスト。nullまたは空の値は避けてください。
lastMsgIdsチャンネルごとに受信した最後のメッセージのID。見逃したメッセージのみを受信するように再購読するときに便利です。
Returns
操作を送信できるかどうか(例:チャットサーバーに接続されていない場合は失敗します)。
bool Subscribe ( string[]  channels,
int  messagesFromHistory 
)

クライアントをチャンネルにサブスクライブする操作を送信し、任意でキャッシュから多数のメッセージをフェッチします。

チャンネル登録は、このユーザーに新しいメッセージを転送します。 これを行うには、PublishMessageを使用します。 メッセージキャッシュは制限されていますが、必要に応じて、進行中の会話に入るのに役立ちます。

Parameters
channels購読するチャンネルのリスト。 nullまたは空の値は避けてください。
messagesFromHistory0:履歴なし。 1以上:履歴内のメッセージの数。 -1:利用可能なすべての履歴。
Returns
操作を送信できるかどうか(例:チャットサーバーに接続されていない場合は失敗します)。
bool Subscribe ( string  channel,
int  lastMsgId = 0,
int  messagesFromHistory = -1,
ChannelCreationOptions  creationOptions = null 
)

単一のチャンネルをサブスクライブし、任意で、チャンネルが作成された場合にその既知のチャンネルプロパティを設定します。

Parameters
channel購読するチャンネルの名前
lastMsgId欠落したメッセージのみを受信するように再購読するときに、このチャンネルから最後に受信したメッセージのID。デフォルトは0
messagesFromHistory履歴から受信する欠落メッセージの数。デフォルトはnone/-1
creationOptions購読するチャンネルが作成される場合に使用されるオプション。
Returns
bool TryGetChannel ( string  channelName,
bool  isPrivate,
out ChatChannel  channel 
)

名前によるプライベートまたはパブリックチャンネルへの簡単なアクセス。

Parameters
channelName取得するチャンネルの名前。プライベートチャンネルの場合、チャンネル名は両方のユーザーの名前で構成されます。
isPrivateプライベートチャンネルとパブリックチャンネルのどちらを期待するかを定義します。
channel出力パラメータは、見つかったチャンネルがあればそれを提供します。
Returns
チャンネルが見つかった場合はtrue。

公開チャンネルは、チャンネル登録したときにのみ存在します。 プライベートチャンネルは、少なくとも1つのメッセージがターゲットユーザーとプライベートに交換される場合にのみ存在します。

bool TryGetPrivateChannelByUser ( string  userId,
out ChatChannel  channel 
)

ターゲットユーザーによるプライベートチャンネルへの簡単なアクセス。

Parameters
userIdプライベートチャンネル内のターゲットユーザーのUserId。
channel出力パラメータは、見つかったチャンネルがあればそれを提供します。
Returns
チャンネルが見つかった場合はtrue。
bool Unsubscribe ( string[]  channels)

チャンネルのリストから購読を解除して、チャンネルからのメッセージの受信を停止します。

サーバーがこのリクエストへの応答を送信すると、クライアントはこれらのチャンネルをPublicChannels辞書から削除します。

リクエストはサーバーに送信され、サーバーがチャンネルサブスクリプションを実際に削除したときに IChatClientListener.OnUnsubscribedが呼び出されます。

nullまたは空のチャンネル名を含めると、登録解除は失敗します。

Parameters
channels購読解除するチャンネルの名前。
Returns
チャットサーバーに接続されていない場合はFalse。

Member Data Documentation

ChatPeer chatPeer = null

このクライアントが使用するChatピア。

const int DefaultMaxSubscribers = 100

ChatChannel.PublishSubscribersが有効な場合、ChatChannel.MaxSubscribersに設定できるデフォルトの最高値

int MessageLimit

0より大きい場合、新しいチャンネルはローカルにキャッシュするメッセージの数を制限します。

これは、チャットで使用されるメモリの量を制限するのに役立ちます。 チャンネルごとにMessageLimitを設定できますが、この値は新しいチャンネルに適用されます。

注意: この値を変更しても、すでに使用されているChatChannelには影響しません!

readonly Dictionary<string, ChatChannel> PrivateChannels

このクライアントがメッセージを交換したプライベートチャンネル。

readonly Dictionary<string, ChatChannel> PublicChannels

このクライアントがサブスクライブしている公開チャンネル。

Property Documentation

string AppId
get

Photon Cloudから割り当てられたAppID。

string AppVersion
get

クライアントのバージョン。新しいバージョンでは、プレーヤーを古いクライアントバージョンから分離するための新しい「仮想アプリ」も作成されます。

AuthenticationValues AuthValues
getset

接続する前にのみ設定可能!

bool CanChat
get

このクライアントがメッセージを送信する準備ができているかどうかを確認します。

string ChatRegion
getset

接続する前にのみ設定可能! デフォルトは「EU」です。

DebugLevel DebugOut
getset

ライブラリが提供するデバッグ出力のレベル(および量)を設定します。

これは、IChatClientListener.DebugReturnへのコールバックに影響します。 デフォルトレベル:エラー。

ChatDisconnectCause DisconnectedCause
get

切断の原因。IChatClientListener.OnDisconnected内でご確認ください。

string FrontendAddress
get

NameServerから割り当てられた実際のチャットサーバーのアドレス。 読み取り専用で公開。

string NameServerAddress
get

最後に接続されたネームサーバーのアドレス。

Dictionary<ConnectionProtocol, Type> SocketImplementationConfig
get

ConnectionProtocolごとに使用するIPhotonSocketクラスを定義します。

いくつかのプラットフォームには、特殊なソケット実装とわずかに異なるAPIがあります。 これに対応するため、ネットワークプロトコルのソケット実装の切り替えが利用可能になりました。 デフォルトでは、UDPおよびTCPにはソケット実装が割り当てられています。

PhotonPeerを作成した後、接続する前にSocketImplementationConfigを設定する必要があるのは一度だけです。 TransportProtocolを切り替えると、正しい実装が使用されます。

ChatState State
get

ChatClientの現在の状態。CanChatも使用します。

ConnectionProtocol TransportProtocol
getset

使用されたPhotonPeerのTransportProtocolを公開します。 接続されていないときに設定可能。

bool UseBackgroundWorkerForSending
getset

バックグラウンドスレッドがSendOutgoingCommandsを呼び出すかどうかを定義し、コードは受信したメッセージをディスパッチするためにサービスを呼び出します。

バックグラウンドスレッドを使用してSendOutgoingCommandsを呼び出す利点は次のとおりです。

ゲームロジックが一時停止されている場合でも、バックグラウンドスレッドはサーバーへの接続を維持します。 下位レベルでは、確認とpingにより、(たとえば)Unityがアセットを読み込んでいる間のサーバー側のタイムアウトが防止されます。

ゲームロジックは依然として定期的にServiceを呼び出す必要があります。そうでない場合、受信メッセージは送信されません。 これは通常UIの更新をトリガーするため、メイン/ UIスレッドからServiceを呼び出す方が簡単です。

string UserId
get

AuthValues.UserIdに保存されているユーザー/個人の一意のID。接続する前に設定してください。

この値はAuthValues.UserIdをラップします。 これはニックネームではなく、同じuserIDを持つユーザーは同じ人物であると想定しています。