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)。