ID(またはactorNumber)によって識別される(そのルームで)ルーム内の「プレイヤー」を要約します。 More...
Public Member Functions | |
Player | Get (int id) |
ActorNumber(Player.ID)でプレーヤーを取得します。 More... | |
Player | GetNext () |
ActorNumber(Player.ID)でソートされた、このプレイヤーの次のプレイヤーを取得します。ラップアラウンド。 More... | |
Player | GetNextFor (Player currentPlayer) |
ActorNumber(Player.ID)で並べ替えられた、プレイヤーの次のプレイヤーを取得します。ラップアラウンドする。 More... | |
Player | GetNextFor (int currentPlayerId) |
ActorNumber(Player.ID)で並べ替えられた、プレイヤーの次のプレイヤーを取得します。ラップアラウンドする。 More... | |
override string | ToString () |
プレイヤーの簡単な要約文字列:ActorNumberおよびNickName More... | |
string | ToStringFull () |
プレイヤーの文字列の概要:player.ID、名前、およびこのユーザーのすべてのカスタムプロパティ。 More... | |
override bool | Equals (object p) |
プレイヤーが等しい場合(this.IDを返すGetHasCodeによる)。 More... | |
override int | GetHashCode () |
Equalsを伴い、HashCodeとしてID(actorNumber)を使用して返します。 More... | |
bool | SetCustomProperties (Hashtable propertiesToSet, Hashtable expectedValues=null, WebFlags webFlags=null) |
このプレイヤーのカスタムプロパティを更新および同期します。任意で、expectedPropertiesを条件として提供できます。 More... | |
Public Attributes | |
readonly bool | IsLocal |
各クライアントによって制御されるプレイヤーは1人だけです。その他はローカルではありません。 More... | |
object | TagObject |
「プレイヤー別」に確認したい参照を保存するために使用できます。 More... | |
Properties | |
int | ActorNumber [get] |
現在のルームのこのプレイヤーの識別子。別名:actorNumberまたはactorNumber。ルームの外は-1です。 More... | |
string | NickName [get, set] |
このプレイヤーの一意ではないニックネーム。ルームで自動的に同期されます。 More... | |
string | UserId [get, set] |
プレイヤーのユーザーID。RoomOptions.PublishUserId= trueでルームが作成されたときに使用できます。 More... | |
bool | IsMasterClient [get] |
このプレイヤーが現在のルームのマスタークライアントである場合はTrue。 More... | |
bool | IsInactive [get, set] |
このプレイヤーがルームでアクティブな場合(および現在送信中のイベントを取得している場合)。 More... | |
Hashtable | CustomProperties [get, set] |
プレイヤーのカスタムプロパティの読み取り専用キャッシュ。Player.SetCustomPropertiesを介して設定します。 More... | |
ID(またはactorNumber)によって識別される(そのルームで)ルーム内の「プレイヤー」を要約します。
各プレイヤーには、そのルームで有効なactorNumberがあります。サーバー(およびクライアントロジック)によって割り当てられるまで、-1です。
override bool Equals | ( | object | p | ) |
プレイヤーが等しい場合(this.IDを返すGetHasCodeによる)。
Player Get | ( | int | id | ) |
ActorNumber(Player.ID)でプレーヤーを取得します。
id | このルームのプレーヤーのActorNumber。 |
override int GetHashCode | ( | ) |
Equalsを伴い、HashCodeとしてID(actorNumber)を使用して返します。
Player GetNext | ( | ) |
ActorNumber(Player.ID)でソートされた、このプレイヤーの次のプレイヤーを取得します。ラップアラウンド。
ActorNumber(Player.ID)で並べ替えられた、プレイヤーの次のプレイヤーを取得します。ラップアラウンドする。
次のプレーヤーに何かを渡すときに便利です。 例:次のプレイヤーにターンを渡す。
currentPlayer | 次が必要なプレイヤー。 |
Player GetNextFor | ( | int | currentPlayerId | ) |
ActorNumber(Player.ID)で並べ替えられた、プレイヤーの次のプレイヤーを取得します。ラップアラウンドする。
次のプレイヤーに何かを渡すときに便利です。 例:次のプレイヤーにターンを渡す。
currentPlayerId | 次が必要なActorNumber(Player.ID)。 |
bool SetCustomProperties | ( | Hashtable | propertiesToSet, |
Hashtable | expectedValues = null , |
||
WebFlags | webFlags = null |
||
) |
このプレイヤーのカスタムプロパティを更新および同期します。任意で、expectedPropertiesを条件として提供できます。
カスタムプロパティは、ルームのプレイヤーに対して同期される文字列キーと任意の値の セットです。 OpJoinとOpCreateの応答にあるように、 クライアントがルームに入るときに利用できます。
カスタムプロパティは、(現在の)ルームまたはプレイヤー(そのルーム内)に関連しています。
両方のクラスは、現在のキー/値をローカルにキャッシュし、CustomPropertiesロパティとして使用可能にします。 これはそれらを読むためだけに提供されています。 それらを設定/変更するには、メソッドSetCustomPropertiesを使用する必要があります。
クライアントはいつでも(ルームにいるとき)カスタムプロパティを設定できます。 最適な使用方法を整理するのはゲームロジック次第です。
SetCustomPropertiesは、新規または変更されたキー/値でのみ呼び出す必要があります。 これにより、トラフィックとパフォーマンスが低下します。
expectedPropertiesを定義しない限り、キー/値の設定は常に許可されます。 この場合、プロパティ設定クライアントはサーバーから新しい値を受信せず、代わりにSetCustomPropertiesの ローカルキャッシュを更新します。
expectedPropertiesを定義する場合、サーバープロパティキャッシュに同じ値を持つすべての expectedPropertiesが含まれていない場合、サーバーは更新をスキップします。 この場合、プロパティ設定クライアントはサーバーから更新を取得し、キャッシュされたキー/値を 他の全員とほぼ同時に更新します。
expectedPropertiesを使用する利点は、1つのクライアントのみが1つの既知の値から 別の値にキーを正常に設定できることです。 例:カスタムプロパティ「ownedBy」でアイテムを所有するストア。 最初は0です。 複数のプレイヤーがアイテムに到達すると、全員が「ownedBy」を0からactorNumberに変更しようとします。 expectedProperties{"ownedBy", 0} を条件として使用すると、最初にアイテムを獲得したプレイヤーが アイテムを取得します(他のプレイヤーは所有権の設定に失敗します)。
プロパティは、ターンベースゲームのゲーム状態(IsPersistent = trueを使用)で保存されます。
propertiesToSet | 設定するカスタムプロパティのハッシュテーブル。 |
expectedValues | null以外の場合、これらはこの更新の条件としてサーバーがチェックするプロパティ値です。 |
webFlags | このSetCustomProperties-operationがWebHooksに転送されるかどうかを定義します。クライアントはルームにいなければなりません。 |
override string ToString | ( | ) |
プレイヤーの簡単な要約文字列:ActorNumberおよびNickName
string ToStringFull | ( | ) |
プレイヤーの文字列の概要:player.ID、名前、およびこのユーザーのすべてのカスタムプロパティ。
すべてのフレームではなく、注意して使用してください! 呼び出しごとにcustomPropertiesを文字列に変換します。
readonly bool IsLocal |
各クライアントによって制御されるプレイヤーは1人だけです。その他はローカルではありません。
object TagObject |
「プレイヤー別」に確認したい参照を保存するために使用できます。
例:InstantiateでGameObjectを割り当てることにより、プレイヤーのキャラクターをタグとして設定します。
|
get |
現在のルームのこのプレイヤーの識別子。別名:actorNumberまたはactorNumber。ルームの外は-1です。
IDはルームごとに割り当てられ、そのコンテキストでのみ有効です。退室や再参加の際に変更されします。IDはルームごとに再利用されることはありません。
|
getset |
プレイヤーのカスタムプロパティの読み取り専用キャッシュ。Player.SetCustomPropertiesを介して設定します。
このハッシュテーブルの内容を変更しないでください。SetCustomPropertiesとこのクラスの プロパティを使用して、値を変更します。これらを使用すると、 クライアントは値をサーバーと同期します。
|
getset |
このプレイヤーがルームでアクティブな場合(および現在送信中のイベントを取得している場合)。
非アクティブなプレーヤーはルームにスポットを保ちますが、それ以外はオフラインのように動作します(実際の接続ステータスに関係なく)。 ルームにはPlayerTTL != 0が必要です。プレイヤーがPlayerTTLよりも長く非アクティブである場合、サーバーはこのプレイヤーをルームから削除します。 クライアントがルームに「再参加」する場合、それは参加するのと同じです。つまり、プロパティ、キャッシュされたイベント、そしてライブイベントを取得します。
|
get |
このプレイヤーが現在のルームのマスタークライアントである場合はTrue。
|
getset |
このプレイヤーの一意ではないニックネーム。ルームで自動的に同期されます。
プレイヤーは、ルームで自分のプレイヤー名を変更する場合があります(これは単なるプロパティです)。 この値を設定すると、サーバーと他のプレーヤーが更新されます(操作を使用)
|
getset |
プレイヤーのユーザーID。RoomOptions.PublishUserId= trueでルームが作成されたときに使用できます。
LoadBalancingClient.OpFindFriendsと、予想されるプレイヤーのルームのスロットをブロックするのに役立ちます(例:LoadBalancingClient.OpCreateRoom)。