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

PhotonViewはネットワーク上のオブジェクト(viewID)を識別し、制御クライアントがリモートインスタンスを更新する方法を設定します。 More...

Inherits MonoBehaviour.

Public Member Functions

void RequestOwnership ()
 PhotonViewのownershipTransfer設定によって変わりますが、どのクライアントもPhotonViewの所有者になることを要求できます。 More...
 
void TransferOwnership (Player newOwner)
 このPhotonView(およびGameObject)の所有権を他のプレイヤーに委譲します。 More...
 
void TransferOwnership (int newOwnerId)
 このPhotonView(およびGameObject)の所有権を他のプレイヤーに委譲します。 More...
 
void SerializeView (PhotonStream stream, PhotonMessageInfo info)
 
void DeserializeView (PhotonStream stream, PhotonMessageInfo info)
 
void RefreshRpcMonoBehaviourCache ()
 PhotonNetwork.UseRpcMonoBehaviourCacheがtrueの場合、このGameObjectにあるMonoBehaviourの一覧を更新するのに使われます。 More...
 
void RPC (string methodName, RpcTarget target, params object[] parameters)
 このRoomのリモートクライアントに(またはこのクライアントも含めたすべてに)対して、このGameObjectのRPCメソッドを呼び出します。 More...
 
void RpcSecure (string methodName, RpcTarget target, bool encrypt, params object[] parameters)
 このRoom内のリモートクライアント(またはこのクライアントを含むすべて)に対して、このGameObjectのRPCメソッドを呼び出します。 More...
 
void RPC (string methodName, Player targetPlayer, params object[] parameters)
 このRoom内のリモートクライアント(またはこのクライアントを含むすべて)に対して、このGameObjectのRPCメソッドを呼び出します。 More...
 
void RpcSecure (string methodName, Player targetPlayer, bool encrypt, params object[] parameters)
 このRoom内のリモートクライアント(またはこのクライアントを含むすべて)に対して、このGameObjectのRPCメソッドを呼び出します。 More...
 
override string ToString ()
 

Static Public Member Functions

static PhotonView Get (Component component)
 
static PhotonView Get (GameObject gameObj)
 
static PhotonView Find (int viewID)
 

Public Attributes

byte Group = 0
 
bool OwnershipWasTransfered
 ライフサイクル中にこのphotonViewの所有権が設定されているかどうかをチェックするフラグ。所有者と送信者が一致しないイベントでアドレス指定が必要な場合に遅れて参加するときのチェックに使用されます。 More...
 
int prefixField = -1
 
ViewSynchronization Synchronization
 
OwnershipOption OwnershipTransfer = OwnershipOption.Fixed
 このPhotonViewの所有権が確定するか、要求されるか、単に取得されるかを決めます。 More...
 
List< Component > ObservedComponents
 
int InstantiationId
 

Properties

int Prefix [get, set]
 
object[] InstantiationData [get, set]
 これは、PhotonNetwork.Instantiate*を呼ぶとき(このプレハブを生成するのに使われるなら)、渡されるinstantiationDataです。 More...
 
int ViewID [get, set]
 PhotonViewのID。ネットワーク上のゲームの中で(Room毎に)PhotonViewを特定します。 More...
 
bool IsSceneView [get]
 PhotonViewがシーン(ゲームオブジェクト)と共に読み込まれた、あるいはInstantiateSceneObjectと共にインスタンス作成された場合はtrueです。 More...
 
Player Owner [get]
 PhotonViewの所有者はそのviewでGameObjectを作成したプレイヤーです。シーン内のオブジェクトには所有者はいません。 More...
 
int OwnerActorNr [get, set]
 
Player Controller [get]
 
int ControllerActorNr [get]
 
bool IsOwnerActive [get]
 
int CreatorActorNr [get]
 
bool IsMine [get]
 PhotonViewの所有者が「自分」で、このクライアントからコントロール可能の場合はtrueです。 More...
 

Detailed Description

PhotonViewはネットワーク上のオブジェクト(viewID)を識別し、制御クライアントがリモートインスタンスを更新する方法を設定します。

Member Function Documentation

void RefreshRpcMonoBehaviourCache ( )

PhotonNetwork.UseRpcMonoBehaviourCacheがtrueの場合、このGameObjectにあるMonoBehaviourの一覧を更新するのに使われます。

PhotonNetwork.UseRpcMonoBehaviourCacheをtrueにしてキャッシュを有効にします。 this.GetComponents<MonoBehaviour>() を使って、RPCをコールする(可能性が潜在的にある)、MonoBehaviourの一覧を取得してください。

PhotonNetwork.UseRpcMonoBehaviourCacheがfalseなら、このメソッドでは影響がありません。 RPCがコールされたとき一覧が更新されていまうからです。

void RequestOwnership ( )

PhotonViewのownershipTransfer設定によって変わりますが、どのクライアントもPhotonViewの所有者になることを要求できます。

ownershipTransfer設定で許可されているなら、所有権を要求するとPhotonViewをコントロール下におくことができます。 現在の所有者はIPunCallbacks.OnOwnershipRequestを実装して、所有権の要求を再び実行する必要があります。

PhotonViewの所有者/コントロールする人は、GameObjectの位置更新を送信するクライアントでもあります。

void RPC ( string  methodName,
RpcTarget  target,
params object[]  parameters 
)

このRoomのリモートクライアントに(またはこのクライアントも含めたすべてに)対して、このGameObjectのRPCメソッドを呼び出します。

リモートプロシージャーコール(RPC) はPUNでマルチプレイヤーゲームを作るのに不可欠なツールです。 これのおかげで、同じRoomにいる全クライアントに特定のメソッドを呼び出させることができます。

RPCコールはターゲットとして“All(すべて)”か“Others(他人)”に向けることができます。 一般的には、ターゲット“All” は、RPC送信後にローカルで即座に実行されます。 “*ViaServer”オプションはRPCをサーバーに送信して、このクライアントに送り返されてきたときに実行します。 もちろんコールは、このクライアントのラグと、リモートクライアントのラグの影響を受けます。

どのコールも自動的に、生成したクライアントに使われている、 同じPhotonView(とGameObject)へ送られます。

Remote Procedure Callsをご覧ください。

Parameters
methodNameRPC属性を持つメソッド名
targetターゲットのグループと、RPCが送信される経路
parametersRPCメソッドに与えるパラメーター(このコールにマッチする必要があります!)
void RPC ( string  methodName,
Player  targetPlayer,
params object[]  parameters 
)

このRoom内のリモートクライアント(またはこのクライアントを含むすべて)に対して、このGameObjectのRPCメソッドを呼び出します。

リモートプロシージャーコール(RPC) はPUNでマルチプレイヤーゲームを作るのに不可欠なツールです。 これのおかげで、同じRoomにいる全クライアントに特定のメソッドを呼び出させることができます。

このメソッドを使うと、特定のプレイヤーのクライアントに対して、RPCコールすることができます。 もちろんコールは、このクライアントのラグと、リモートクライアントのラグの影響を受けます。

どのコールも自動的に、生成したクライアントに使われている、 同じPhotonView(とGameObject)へ送られます。

Remote Procedure Callsをご覧ください。

Parameters
methodNameRPC属性を持つメソッド名
targetPlayerターゲットのグループと、RPCが送信される経路
parametersRPCメソッドに与えるパラメーター(このコールにマッチする必要があります!)
void RpcSecure ( string  methodName,
RpcTarget  target,
bool  encrypt,
params object[]  parameters 
)

このRoom内のリモートクライアント(またはこのクライアントを含むすべて)に対して、このGameObjectのRPCメソッドを呼び出します。

リモートプロシージャーコール(RPC) はPUNでマルチプレイヤーゲームを作るのに不可欠なツールです。 これのおかげで、同じRoomにいる全クライアントに特定のメソッドを呼び出させることができます。

RPCコールはターゲットとして“All(すべて)”か“Others(他人)”に向けることができます。 一般的には、ターゲット“All” は、RPC送信後にローカルで即座に実行されます。 “*ViaServer”オプションはRPCをサーバーに送信して、このクライアントに送り返されてきたときに実行します。 もちろんコールは、このクライアントのラグと、リモートクライアントのラグの影響を受けます。

どのコールも自動的に、生成したクライアントに使われている、 同じPhotonView(とGameObject)へ送られます。

Remote Procedure Callsをご覧ください。

param name="methodName">RPC属性を持つメソッド名

param name="target">ターゲットのグループと、RPCが送信される経路

param name="encrypt">

param name="parameters">RPCメソッドに与えるパラメーター(このコールにマッチする必要があります!)

void RpcSecure ( string  methodName,
Player  targetPlayer,
bool  encrypt,
params object[]  parameters 
)

このRoom内のリモートクライアント(またはこのクライアントを含むすべて)に対して、このGameObjectのRPCメソッドを呼び出します。

リモートプロシージャーコール(RPC) はPUNでマルチプレイヤーゲームを作るのに不可欠なツールです。 これのおかげで、同じRoomにいる全クライアントに特定のメソッドを呼び出させることができます。

このメソッドを使うと、特定のプレイヤーのクライアントに対して、RPCコールすることができます。 もちろんコールは、このクライアントのラグと、リモートクライアントのラグの影響を受けます。

どのコールも自動的に、生成したクライアントに使われている、 同じPhotonView(とGameObject)へ送られます。

Remote Procedure Callsをご覧ください。

Parameters
methodNameRPC属性を持つメソッド名
targetPlayerターゲットのグループと、RPCが送信される経路

param name="encrypt">

Parameters
parametersRPCメソッドに与えるパラメーター(このコールにマッチする必要があります!)
void TransferOwnership ( Player  newOwner)

このPhotonView(およびGameObject)の所有権を他のプレイヤーに委譲します。

PhotonViewの所有者/コントロールする人は、GameObjectの位置更新を送信するクライアントでもあります。

void TransferOwnership ( int  newOwnerId)

このPhotonView(およびGameObject)の所有権を他のプレイヤーに委譲します。

PhotonViewの所有者/コントロールする人は、GameObjectの位置更新を送信するクライアントでもあります。

Member Data Documentation

OwnershipOption OwnershipTransfer = OwnershipOption.Fixed

このPhotonViewの所有権が確定するか、要求されるか、単に取得されるかを決めます。

注意:この値は実行時には編集できません。 オプションはenum OwnershipOptionに記述されています。 現在の所有者はIPunCallbacks.OnOwnershipRequestを実装して、所有権請求を再び実行する必要があります。

bool OwnershipWasTransfered

ライフサイクル中にこのphotonViewの所有権が設定されているかどうかをチェックするフラグ。所有者と送信者が一致しないイベントでアドレス指定が必要な場合に遅れて参加するときのチェックに使用されます。

所有権が移転された場合は<c>true,それ以外の場合には, false

Property Documentation

object [] InstantiationData
getset

これは、PhotonNetwork.Instantiate*を呼ぶとき(このプレハブを生成するのに使われるなら)、渡されるinstantiationDataです。

bool IsMine
get

PhotonViewの所有者が「自分」で、このクライアントからコントロール可能の場合はtrueです。

PUNには所有権という概念があります。それぞれのPhotonViewをコントロールしたり破棄できる主体のことです。 所有者がローカルPlayerの場合trueです。 PhotonViewシーンで、Master client上ならtrueです。

bool IsSceneView
get

PhotonViewがシーン(ゲームオブジェクト)と共に読み込まれた、あるいはInstantiateSceneObjectと共にインスタンス作成された場合はtrueです。

シーンオブジェクトの所有者は特定のプレイヤーではなく、シーンです。そのため、作成者がゲームから去っても、 シーンオブジェクトは破棄されません。コントロールできるのは、現在のMaster Client(それが誰であれ)です。 ownerIdは0です(プレイヤーIDは1以上です)。

Player Owner
get

PhotonViewの所有者はそのviewでGameObjectを作成したプレイヤーです。シーン内のオブジェクトには所有者はいません。

PhotonViewの所有者/制御者はGameObjectの位置の更新を送信するクライアントでもあります。

PhotonViewの所有者/コントロールする人は、GameObjectの位置更新を送信するクライアントでもあります。 どのプレイヤーもPhotonViewのRequestOwnershipメソッドを呼び出すことで、所有権を要求できます。 現在の所有者はIPunCallbacks.OnOwnershipRequestを実装して、所有権請求を再び実行する必要があります。

int ViewID
getset

PhotonViewのID。ネットワーク上のゲームの中で(Room毎に)PhotonViewを特定します。

ネットワーク・インスタンス作成 をご覧ください。