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.