Photon Unity Networking 2  v2.1
English | 日本語 | 한국
Public Member Functions | List of all members
IPunPrefabPool Interface Reference

PhotonNetwork.InstantiateおよびPhotonNetwork.Destroyで使用される、オブジェクトプール用のインターフェースを定義します。 More...

Inherited by DefaultPool.

Public Member Functions

GameObject Instantiate (string prefabId, Vector3 position, Quaternion rotation)
 プレハブのインスタンスを取得するために呼び出されます。PhotonViewで有効な、無効になったGameObjectを返さなければなりません。 More...
 
void Destroy (GameObject gameObject)
 プレハブのインスタンスを破壊する(または戻す)ために呼び出されます。無効になっていて、後でInstantitateで使用するためにプールをリセットしてキャッシュすることができます。 More...
 

Detailed Description

PhotonNetwork.InstantiateおよびPhotonNetwork.Destroyで使用される、オブジェクトプール用のインターフェースを定義します。

カスタムIPunPrefabPoolを適用するには、PhotonNetwork.PrefabPoolを設定します。

PUNがInstantiateを呼び出すと、プールは有効な、無効になったGameObjectを返す必要があります。 また、位置と回転も適用する必要があります。

AwakeとStartはUnityによって一度だけ呼び出されるので、再利用されたGameObjectの スクリプトはOnEnableまたはOnDisableを使用するべきです。 OnEnableが呼び出されたとき、PhotonViewはすでに新しい値に更新されています。

GameObjectを有効にするには、Instantiateは無効なオブジェクトを返さなければなりません。

PUNはGameObjectを「破壊」する前に、それらを無効にします。

コンポーネントがIPunInstantiateMagicCallbackを実装している場合、 ネットワーク化されたオブジェクトがインスタンス化されたときにPUNがOnPhotonInstantiateを呼び出します。 プレハブでこれを実装しているコンポーネントがない場合、PUNはインスタンス化を最適化し、 GetComponentsを介してIPunInstantiateMagicCallbackを検索しなくなります。

Member Function Documentation

void Destroy ( GameObject  gameObject)

プレハブのインスタンスを破壊する(または戻す)ために呼び出されます。無効になっていて、後でInstantitateで使用するためにプールをリセットしてキャッシュすることができます。

プールは、Destroy()を介して返されたGameObjectの種類を調べるための何らかの方法を必要とします。 タグ、名前、コンポーネントまたは同様のものが使用できます。

Parameters
gameObject破壊するインスタンス。

Implemented in DefaultPool.

GameObject Instantiate ( string  prefabId,
Vector3  position,
Quaternion  rotation 
)

プレハブのインスタンスを取得するために呼び出されます。PhotonViewで有効な、無効になったGameObjectを返さなければなりません。

Parameters
prefabIdこのプレハブのID。
positionインスタンスの位置
rotationインスタンスの回転
Returns
PUNで使用する無効化されたインスタンス。prefabIdが不明な場合はnull。

Implemented in DefaultPool.