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... | |
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を検索しなくなります。
void Destroy | ( | GameObject | gameObject | ) |
プレハブのインスタンスを破壊する(または戻す)ために呼び出されます。無効になっていて、後でInstantitateで使用するためにプールをリセットしてキャッシュすることができます。
プールは、Destroy()を介して返されたGameObjectの種類を調べるための何らかの方法を必要とします。 タグ、名前、コンポーネントまたは同様のものが使用できます。
gameObject | 破壊するインスタンス。 |
Implemented in DefaultPool.
GameObject Instantiate | ( | string | prefabId, |
Vector3 | position, | ||
Quaternion | rotation | ||
) |
プレハブのインスタンスを取得するために呼び出されます。PhotonViewで有効な、無効になったGameObjectを返さなければなりません。
prefabId | このプレハブのID。 |
position | インスタンスの位置 |
rotation | インスタンスの回転 |
Implemented in DefaultPool.