Room内の任意の1プレイヤーについてまとめています。プレイヤーは(Room内で)actorIDで区別されます。 More...
Inherits IComparable< PhotonPlayer >, IComparable< int >, IEquatable< PhotonPlayer >, and IEquatable< int >.
Public Member Functions | |
PhotonPlayer (bool isLocal, int actorID, string name) | |
PhotonPlayerインスタンスを作成します。 More... | |
override bool | Equals (object p) |
PhotonPlayerを比較可能にします。 More... | |
override int | GetHashCode () |
void | SetCustomProperties (Hashtable propertiesToSet, Hashtable expectedValues=null, bool webForward=false) |
このプレイヤーの、名前があるプロパティとpropertiesToSetの値を、更新して同期します。 More... | |
PhotonPlayer | Get (int id) |
PhotonPlayer | GetNext () |
PhotonPlayer | GetNextFor (PhotonPlayer currentPlayer) |
PhotonPlayer | GetNextFor (int currentPlayerId) |
int | CompareTo (PhotonPlayer other) |
int | CompareTo (int other) |
bool | Equals (PhotonPlayer other) |
bool | Equals (int other) |
override string | ToString () |
PhotonPlayerを手短かに主要点だけ説明した文字列。名前とplayer.IDと、Master Clientならそのことも含みます。 More... | |
string | ToStringFull () |
PhotonPlayerの概要の文字列: player.IDと名前と、このユーザーの全独自プロパティ。 More... | |
Static Public Member Functions | |
static PhotonPlayer | Find (int ID) |
特定のプレイヤーをidで取得しようと試みます。 More... | |
Public Attributes | |
readonly bool | isLocal = false |
各クライアントは一人のプレイヤーのみ制御します。その他はローカルではありません。 More... | |
object | TagObject |
「プレイヤーによって」、知っておくと便利な、参照を保存するのに使われます。 More... | |
Properties | |
int | ID [get] |
このプレイヤーのactorID More... | |
string | name [get, set] |
このプレイヤーのニックネーム More... | |
string | userId [get, set] |
ルームがRoomOptions.publishUserId = trueで作成された際に利用可能なプレイヤーのUserId。 More... | |
bool | IsMasterClient [get] |
このプレイヤーが現在のRoomのMaster Clientの場合trueです。 More... | |
bool | isInactive [get, set] |
ルームのPlayerTTLが> 0(0以上)の場合、プレイヤーがルーム内で非アクティブな可能性があります。trueの場合、プレイヤーは(現在は)このルームからイベントを取得していませんが、後で戻ることができます。 More... | |
Hashtable | CustomProperties [get, set] |
プレイヤーのカスタムプロパティのための読み取り専用キャッシュ。 PhotonPlayer.SetCustomPropertiesから設定します。 More... | |
Hashtable | allProperties [get] |
(独自/「標準」)プロパティでHashtableを作成します。 More... | |
bool | isLocal [get] |
bool | isMasterClient [get] |
Hashtable | customProperties [get, set] |
Room内の任意の1プレイヤーについてまとめています。プレイヤーは(Room内で)actorIDで区別されます。
どのプレイヤーキャラクターもactorId(またはID)を持ちます。Room内で有効です。サーバーから割り当てられるまで値は-1です。 どのクライアントも、SetCustomPropertiesを使いプレイヤーの独自プロパティをセットできます。Room入室前でもできるのです。 これらはRoom入室時に同期されます。
PhotonPlayer.PhotonPlayer | ( | bool | isLocal, |
int | actorID, | ||
string | name | ||
) |
PhotonPlayerインスタンスを作成します。
isLocal | ローカルPeer(またはリモート)のプレイヤーならtrue |
actorID | 現在のRoom内で、このプレイヤーのIDまたはActorNumber(Room内の各プレイヤーを区別するショートカットです) |
name | プレイヤー名(「標準プロパティ」の1つ) |
int PhotonPlayer.CompareTo | ( | PhotonPlayer | other | ) |
int PhotonPlayer.CompareTo | ( | int | other | ) |
override bool PhotonPlayer.Equals | ( | object | p | ) |
PhotonPlayerを比較可能にします。
bool PhotonPlayer.Equals | ( | PhotonPlayer | other | ) |
bool PhotonPlayer.Equals | ( | int | other | ) |
|
static |
特定のプレイヤーをidで取得しようと試みます。
ID | ActorID |
PhotonPlayer PhotonPlayer.Get | ( | int | id | ) |
override int PhotonPlayer.GetHashCode | ( | ) |
PhotonPlayer PhotonPlayer.GetNext | ( | ) |
PhotonPlayer PhotonPlayer.GetNextFor | ( | PhotonPlayer | currentPlayer | ) |
PhotonPlayer PhotonPlayer.GetNextFor | ( | int | currentPlayerId | ) |
void PhotonPlayer.SetCustomProperties | ( | Hashtable | propertiesToSet, |
Hashtable | expectedValues = null , |
||
bool | webForward = false |
||
) |
このプレイヤーの、名前があるプロパティとpropertiesToSetの値を、更新して同期します。
カスタムプロパティは、ルーム内のすべてのプレイヤーに利用可能なキーと値のセット(Hashtable)です。 ルームや個々のプレイヤーに関連させることができ、 何かの現在値のみが必要な場合に有用です。例:ルームのマップ。 キーはすべて文字列でなければなりません。
RoomとPhotonPlayerクラスにはどちらもSetCustomPropertiesメソッドがあります。 また、どちらのクラスもcustomPropertiesで現在のキー値へのアクセスを提供します。
値を変更する際は常にSetCustomPropertiesを使用してください。 ネットワークトラフィックを削減するには、実際に変更された値のみを設定します。 新しいプロパティが追加され既存の値が更新されます。 他の値は変更されないので、変更または新しく追加された値のみを提供するようにしてください。
このルームの名前を持つ(カスタム)プロパティを削除するには、値としてnullを使用します。
ローカルでは、SetCustomPropertiesは遅滞なくそのキャッシュを更新します。 他のクライアントは適切なオペレーションにより、Photon(サーバ)を介して更新されます。
b>チェックおよびスワップ
SetCustomPropertiesには、サーバ側のチェック・アンド・スワップ(CAS)を実行するオプションがあります: 期待値が正しい場合のみ、値が更新されます。 expectedValues??はpropertiesToSetとは異なるキー/値にすることができます。 キーを確認し別のキーの値を設定することができます(チェックが成功した場合)。
プロパティに対するクライアントの知識が間違っているか古い場合は、CASを使用して値を設定することができません。 これはプレイヤーが同時に値の設定を行うことを防ぐことができます。 例:すべてのプレイヤーがカードやアイテムを拾おうとしようとしても、一人のみが拾えるようにする必要があります。 CASでは、最初のsetPropertiesのみがサーバー側で実行され、他(同時に送信された)は失敗します。
サーバは正常に変更された値をブロードキャストし、customPropertiesのローカル「キャッシュ」は往復後のみ更新されます(変更が加えられた場合)。
「webForward」を行うことができます:Photonは、アプリケーションのために定義されたWebHookに変更されたプロパティを送信します。
PhotonNetwork.offlineModeがtrueの場合、expectedValuesパラメータとwebForwardパラメータは無視されます。 OfflineModeでは、ローカルのcustomProperties値は直ちに更新されます(ラウンドトリップなし)。
propertiesToSet | 設定される新しいプロパティ。 |
param name = "expectedValues??">サーバ側をチェックするために最低1つのプロパティ キー/値。キーと値は正しくなければなりません。 OfflineModeでは無視されます。
webForward | 設定されたプロパティをこのアプリに定義された(ダッシュボードで)WebHookに転送するためにtrueに設定。OfflineModeでは無視されます。 |
override string PhotonPlayer.ToString | ( | ) |
PhotonPlayerを手短かに主要点だけ説明した文字列。名前とplayer.IDと、Master Clientならそのことも含みます。
string PhotonPlayer.ToStringFull | ( | ) |
PhotonPlayerの概要の文字列: player.IDと名前と、このユーザーの全独自プロパティ。
注意して使ってください。毎フレーム使わないでください! どの単独コールでもcustomPropertiesをStringに変換します。
readonly bool PhotonPlayer.isLocal = false |
各クライアントは一人のプレイヤーのみ制御します。その他はローカルではありません。
object PhotonPlayer.TagObject |
「プレイヤーによって」、知っておくと便利な、参照を保存するのに使われます。
例: Instantiate時にGameObjectを割り当てることで、プレイヤーのキャラクターをTagとしてセットします。
|
get |
(独自/「標準」)プロパティでHashtableを作成します。
よく使われるものほど、キャッシュされます。
|
getset |
プレイヤーのカスタムプロパティのための読み取り専用キャッシュ。 PhotonPlayer.SetCustomPropertiesから設定します。
このHashtableの中身を編集しないでください。値を編集するなら、 SetCustomPropertiesと、このクラスのプロパティを使いましょう。 それらを使えば、クライアントはサーバーと値を同期します。
|
getset |
|
get |
このプレイヤーのactorID
|
getset |
ルームのPlayerTTLが> 0(0以上)の場合、プレイヤーがルーム内で非アクティブな可能性があります。trueの場合、プレイヤーは(現在は)このルームからイベントを取得していませんが、後で戻ることができます。
|
get |
|
get |
このプレイヤーが現在のRoomのMaster Clientの場合trueです。
PhotonNetwork.masterClientも見てください。
|
get |
|
getset |
このプレイヤーのニックネーム
Room内で名前を同期させるため、PhotonNetwork.playerNameをセットします。
|
getset |
ルームがRoomOptions.publishUserId = trueで作成された際に利用可能なプレイヤーのUserId。
PhotonNetwork.FindFriendsおよび参加を予定しているプレイヤーのためにルームのスロットをブロックする際に有用(例:PhotonNetwork.CreateRoom)。