オブジェクトプールが実装すべきメソッドを定義しています。PUNで使うことができます。 More...
| Public Member Functions | |
| GameObject | Instantiate (string prefabId, Vector3 position, Quaternion rotation) | 
| これはPUNがPrefabの新しいインスタンスを生成したい時に呼ばれます。PhotonViewを伴った有効なGameObjectを返さなければなりません。  More... | |
| void | Destroy (GameObject gameObject) | 
| これはPUNがPrefabのインスタンスを削除したい時に呼ばれます。  More... | |
オブジェクトプールが実装すべきメソッドを定義しています。PUNで使うことができます。
インスタンス化のためにオブジェクトプールを使うには、PhotonNetwork.ObjectPoolに設定してください。 ObjectPoolがNULLではない、すべてのオブジェクトに使われます。 PUNでインスタンス化を呼ばれたら、プールはNULLでない有効なGameObjectを返します。 また、PositionとRotationは値をもたなければなりません。
プールされたGameObjectは通常のAwake()やStart()は呼ばれないことに注意してください。 OnEnable()がPoolより呼ばれますが、呼ばれた時にネットワークの値はまだ更新されていません。 OnEnable()でのPhotonViewの値(isMineなど)は古い値になります。 スクリプトで調整する必要があるかもしれません。
PUNはOnPhotonInstantiate()を呼びます(IPunCallbacksを参照)。 これはネットワークの値や所有者に関して再利用されたオブジェクトの セットアップに使用される必要があります。
| void IPunPrefabPool.Destroy | ( | GameObject | gameObject | ) | 
これはPUNがPrefabのインスタンスを削除したい時に呼ばれます。
プールはDestroy()で返されたGameObjectの種類を見つけるためにいくつかの方法が必要です。 それはタグや名前、その他である必要があります。
| gameObject | 削除したいインスタンス | 
| GameObject IPunPrefabPool.Instantiate | ( | string | prefabId, | 
| Vector3 | position, | ||
| Quaternion | rotation | ||
| ) | 
これはPUNがPrefabの新しいインスタンスを生成したい時に呼ばれます。PhotonViewを伴った有効なGameObjectを返さなければなりません。
| prefabId | PrefabのID | 
| position | 生成したInstanceのPosition | 
| rotation | 生成したInstanceのRotation |