class_LayerPrefabPlacementBase
title: class LayerPrefabPlacementBase toc_max_heading_level: 4
class LayerPrefabPlacementBase
(Niantic.Lightship.Maps.MapLayers.Components.BaseTypes.LayerPrefabPlacementBase)
概要
指定されたプレハブからオブジェクトをインスタンス化する、すべての MapLayerComponent の基本クラス。
template <T>
class LayerPrefabPlacementBase: Niantic.Lightship.Maps.MapLayers.Components.BaseTypes.MapLayerComponent {
public:
// メソッド
PooledObject<T> PlaceInstance(in LatLng position, string instanceName = null);
virtual PooledObject<T> PlaceInstance(
in LatLng position,
in Quaternion rotation,
string instanceName = null
);
PooledObject<T> PlaceInstance(in Vector3 position, string instanceName = null);
PooledObject<T> PlaceInstance(
in Vector3 position,
in Quaternion rotation,
string instanceName = null
);
virtual override void Initialize(
LightshipMapView lightshipMapView,
GameObject parent
);
virtual override void OnMapOriginChanged();
protected:
// メソッド
virtual abstract Transform GetTransform(T instance) = 0;
virtual abstract GameObject GetGameObject(T instance) = 0;
virtual void OnObjectPoolAcquire(PooledObject<T> pooledObject);
virtual void OnObjectPoolRelease(T instance);
virtual Vector3 GetObjectScale(double mapRadius);
virtual Quaternion GetObjectRotation(in Quaternion rotation);
virtual Vector3 GetObjectPosition(in LatLng location);
};
// 直系の子孫
template <T>
class LayerMonoBehaviourPlacement;
継承メンバー
public:
// メソッド
virtual void Initialize(LightshipMapView lightshipMapView, GameObject parent);
virtual abstract void OnMapOriginChanged() = 0;
```cs
protected:
// フィールド
LightshipMapView LightshipMapView;
GameObject ParentMapLayer;
詳細なドキュメント
指定されたプレハブからオブジェクトをインスタンス化する、すべての MapLayerComponent の基本クラス。
パラメーター:
T
- プレハブの型
メソッド
GetTransform
virtual abstract Transform GetTransform(T instance) = 0
LayerPrefabPlacementBase<T>から派生したクラスは、このメソッドを実装するために、その派生クラスによって配置されたオブジェクトのTransformを返します。
パラメーター:
instance
- Transformが返るオブジェクト
次の値が返ります。
配置されたオブジェクトインスタンスに属するTransform
GetGameObject
virtual abstract GameObject GetGameObject(T instance) = 0
LayerPrefabPlacementBase<T>から派生したクラスは、このメソッドを実装するために、その派生クラスによって配置されたオブジェクトのGameObjectを返します。
パラメーター:
instance
- GameObjectが返るオブジェクト
次の値が返ります。
配置されたオブジェクトインスタンスに属するGameObject
OnObjectPoolAcquire
virtual void OnObjectPoolAcquire(PooledObject<T> pooledObject)
ObjectPool<T>からオブジェクトを取得すると呼び出されます。 このオブジェクトは、新しくインスタンス化するか、プールから再利用して使用することができます。
パラメーター:
pooledObject
- プールされたオブジェクトハンドル
OnObjectPoolRelease
virtual void OnObjectPoolRelease(T instance)
オブジェクトがObjectPool<T>に開放されると呼び出されます。
パラメーター:
instance
- 開放されているインスタンス
GetObjectScale
virtual Vector3 GetObjectScale(double mapRadius)
オブジェクトインスタンスのローカルスケールを取得します。 「scale with map radius」が設定されている場合、このスケールは LightshipMapView の表示可能なマップの半径に基づきます。
パラメーター:
mapRadius
- マップの半径
次の値が返ります。
配置されたオブジェクトに適用されるローカルスケール
GetObjectRotation
virtual Quaternion GetObjectRotation(in Quaternion rotation)
インスタンス化されたオブジェクトのローカル回転を取得します。 このメソッドは、配置されたオブジェクトインスタンスの向きをカスタマイズする際に上書きする必要があります。
パラメーター:
rotation
- このオブジェクトに関連するローカル回転
次の値が返ります。
このオブジェクトに適用される、新しいローカル回転
GetObjectPosition
virtual Vector3 GetObjectPosition(in LatLng location)
Unityシーンのワールド空間における、インスタンス化されたオブジェクトの位置を取得します。 このメソッドは、配置されたオブジェクトインスタンスの位置をカスタマイズする際に上書きする必要があります。
パラメーター:
location
- このオブジェクトに関連付けられているロケーション
次の値が返ります。
このオブジェクトに適用されるワールド空間の位置
PlaceInstance
PooledObject<T> PlaceInstance(in LatLng position, string instanceName = null)
このコンポーネントのプレハブのインスタンスを、指定したLatLng座標に配置します。
パラメーター:
position
- インスタンスを配置するロケーション
instanceName
- インスタンスに割り当てるオプションの名前
次の値が返ります。
目的のLatLngに配置されたインスタンス
PlaceInstance
virtual PooledObject<T> PlaceInstance(
in LatLng position,
in Quaternion rotation,
string instanceName = null
)
このコンポーネントのプレハブのインスタンスを、指定したLatLng座標に配置します。
パラメーター:
position
- インスタンスを配置するロケーション
rotation
- 配置されたインスタンスに適用されるローカルの回転
instanceName
- インスタンスに割り当てるオプションの名前
次の値が返ります。
目的のLatLngに配置されたインスタンス
PlaceInstance
PooledObject<T> PlaceInstance(in Vector3 position, string instanceName = null)
このコンポーネントのプレハブのインスタンスを、Unityシーンのワールド空間の指定の地点に配置します。
パラメーター:
position
- インスタンスを配置するロケーション
instanceName
- インスタンスに割り当てるオプションの名前
次の値が返ります。
目的の位置に配置されたインスタンス
PlaceInstance
PooledObject<T> PlaceInstance(
in Vector3 position,
in Quaternion rotation,
string instanceName = null
)
このコンポーネントのプレハブのインスタンスを、Unityシーンのワールド空間の指定の地点に配置します。
パラメーター:
position
- インスタンスを配置するロケーション
rotation
- 配置されたインスタンスに適用されるローカルの回転
instanceName
- インスタンスに割り当てるオプションの名前
次の値が返ります。
目的の位置に配置されたインスタンス
Initialize
virtual override void Initialize(
LightshipMapView lightshipMapView,
GameObject parent
)
起動時にこのコンポーネントの MapLayer に関連付けられている LightshipMapView から呼び出されます。
OnMapOriginChanged
virtual override void OnMapOriginChanged()
LightshipMapView がシーンの原点に再配置されると、このコンポーネントの MapLayer から呼び出されます。