Open 3D Engine Vegetation Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
Vegetation::PrefabInstanceSpawner Class Reference

#include <PrefabInstanceSpawner.h>

Inherits Vegetation::InstanceSpawner, and AZ::Data::AssetBus::MultiHandler.

Public Member Functions

 AZ_RTTI (PrefabInstanceSpawner, "{74BEEDB5-81CF-409F-B375-0D93D81EF2E3}", InstanceSpawner)
 
 AZ_CLASS_ALLOCATOR (PrefabInstanceSpawner, AZ::SystemAllocator)
 
void LoadAssets () override
 Start loading any assets that the spawner will need.
 
void UnloadAssets () override
 Unload any assets that the spawner loaded.
 
void OnRegisterUniqueDescriptor () override
 Perform any extra initialization needed at the point of registering with the vegetation system.
 
void OnReleaseUniqueDescriptor () override
 Perform any extra cleanup needed at the point of unregistering with the vegetation system.
 
bool HasEmptyAssetReferences () const override
 Does this exist but have empty asset references?
 
bool IsLoaded () const override
 Has this finished loading any assets that are needed?
 
bool IsSpawnable () const override
 Are the assets loaded, initialized, and spawnable?
 
AZStd::string GetName () const override
 Display name of the instances that will be spawned.
 
InstancePtr CreateInstance (const InstanceData &instanceData) override
 Create a single instance.
 
void DestroyInstance (InstanceId id, InstancePtr instance) override
 Destroy a single instance.
 
AZStd::string GetSpawnableAssetPath () const
 
void SetSpawnableAssetPath (const AZStd::string &assetPath)
 
AZ::Data::AssetId GetSpawnableAssetId () const
 
void SetSpawnableAssetId (const AZ::Data::AssetId &assetId)
 
- Public Member Functions inherited from Vegetation::InstanceSpawner
 AZ_RTTI (InstanceSpawner, "{01AD0758-B04A-4B43-BC2B-BDCD77F4EF6A}")
 
 AZ_CLASS_ALLOCATOR (InstanceSpawner, AZ::SystemAllocator)
 
virtual void LoadAssets ()=0
 Start loading any assets that the spawner will need.
 
virtual void UnloadAssets ()=0
 Unload any assets that the spawner loaded.
 
virtual void OnRegisterUniqueDescriptor ()=0
 Perform any extra initialization needed at the point of registering with the vegetation system.
 
virtual void OnReleaseUniqueDescriptor ()=0
 Perform any extra cleanup needed at the point of unregistering with the vegetation system.
 
virtual bool HasEmptyAssetReferences () const =0
 Does this exist but have empty asset references?
 
virtual bool IsLoaded () const =0
 Has this finished loading any assets that are needed?
 
virtual bool IsSpawnable () const =0
 Are the assets loaded, initialized, and spawnable?
 
virtual bool HasRadiusData () const
 Does this spawner have the capability to provide radius data?
 
virtual float GetRadius () const
 Radius of the instances that will be spawned, used by the Distance Between filter.
 
virtual AZStd::string GetName () const =0
 Display name of the instances that will be spawned.
 
virtual InstancePtr CreateInstance (const InstanceData &instanceData)=0
 Create a single instance.
 
virtual void DestroyInstance (InstanceId id, InstancePtr instance)=0
 Destroy a single instance.
 
bool operator== (const InstanceSpawner &rhs) const
 Check for data equivalency. Subclasses are expected to implement this.
 

Static Public Member Functions

static void Reflect (AZ::ReflectContext *context)
 
- Static Public Member Functions inherited from Vegetation::InstanceSpawner
static void Reflect (AZ::ReflectContext *context)
 

Additional Inherited Members

- Protected Member Functions inherited from Vegetation::InstanceSpawner
virtual bool DataIsEquivalent (const InstanceSpawner &rhs) const =0
 Subclasses are expected to provide a comparison for data equivalency.
 
void NotifyOnAssetsLoaded ()
 Subclasses are expected to call this whenever assets have loaded / reloaded.
 
void NotifyOnAssetsUnloaded ()
 Subclasses are expected to call this whenever assets have unloaded.
 

Detailed Description

Instance spawner of prefab instances.

Member Function Documentation

◆ CreateInstance()

InstancePtr Vegetation::PrefabInstanceSpawner::CreateInstance ( const InstanceData instanceData)
overridevirtual

Create a single instance.

Implements Vegetation::InstanceSpawner.

◆ DestroyInstance()

void Vegetation::PrefabInstanceSpawner::DestroyInstance ( InstanceId  id,
InstancePtr  instance 
)
overridevirtual

Destroy a single instance.

Implements Vegetation::InstanceSpawner.

◆ GetName()

AZStd::string Vegetation::PrefabInstanceSpawner::GetName ( ) const
overridevirtual

Display name of the instances that will be spawned.

Implements Vegetation::InstanceSpawner.

◆ HasEmptyAssetReferences()

bool Vegetation::PrefabInstanceSpawner::HasEmptyAssetReferences ( ) const
overridevirtual

Does this exist but have empty asset references?

Implements Vegetation::InstanceSpawner.

◆ IsLoaded()

bool Vegetation::PrefabInstanceSpawner::IsLoaded ( ) const
overridevirtual

Has this finished loading any assets that are needed?

Implements Vegetation::InstanceSpawner.

◆ IsSpawnable()

bool Vegetation::PrefabInstanceSpawner::IsSpawnable ( ) const
overridevirtual

Are the assets loaded, initialized, and spawnable?

Implements Vegetation::InstanceSpawner.

◆ LoadAssets()

void Vegetation::PrefabInstanceSpawner::LoadAssets ( )
overridevirtual

Start loading any assets that the spawner will need.

Implements Vegetation::InstanceSpawner.

◆ OnRegisterUniqueDescriptor()

void Vegetation::PrefabInstanceSpawner::OnRegisterUniqueDescriptor ( )
overridevirtual

Perform any extra initialization needed at the point of registering with the vegetation system.

Implements Vegetation::InstanceSpawner.

◆ OnReleaseUniqueDescriptor()

void Vegetation::PrefabInstanceSpawner::OnReleaseUniqueDescriptor ( )
overridevirtual

Perform any extra cleanup needed at the point of unregistering with the vegetation system.

Implements Vegetation::InstanceSpawner.

◆ UnloadAssets()

void Vegetation::PrefabInstanceSpawner::UnloadAssets ( )
overridevirtual

Unload any assets that the spawner loaded.

Implements Vegetation::InstanceSpawner.


The documentation for this class was generated from the following file: