CriWare Unreal Engine
Plug-ins for CriWare solutions.
Loading...
Searching...
No Matches
UAtomGameplayVolumeSubsystem Class Reference

#include <AtomGameplayVolumeSubsystem.h>

Inheritance diagram for UAtomGameplayVolumeSubsystem:

Public Member Functions

 UAtomGameplayVolumeSubsystem ()
virtual ~UAtomGameplayVolumeSubsystem ()=default
void AddVolumeComponent (const UAtomGameplayVolumeComponent *VolumeComponent)
virtual void ApplyInteriorSettings (const FAtomActiveSound &ActiveSound, FAtomSoundParseParameters &ParseParams) override
virtual void Deinitialize () override
virtual void GatherInteriorData (const FAtomActiveSound &ActiveSound, FAtomSoundParseParameters &ParseParams) override
UPrimitiveComponent * GetPrimitiveComponent (const UAtomGameplayVolumeComponent *VolumeComponent)
const UAtomGameplayVolumeComponent * GetVolumeComponent (uint32 VolumeID)
const void IterateOverVolumeComponents (TUniqueFunction< void(uint32, const UAtomGameplayVolumeComponent *)> ForEachComponent)
virtual void NotifyActiveSoundDeleting (const FAtomActiveSound &ActiveSound) override
void RemoveVolumeComponent (const UAtomGameplayVolumeComponent *VolumeComponent)
virtual bool ShouldCreateSubsystem (UObject *Outer) const override
virtual void Update () override
void UpdateVolumeComponent (const UAtomGameplayVolumeComponent *VolumeComponent)
Public Member Functions inherited from UAtomEngineSubsystem
CRIWARECORE_API UAtomEngineSubsystem ()
virtual CRIWARECORE_API const FAtomRuntime * GetAtomRuntime () const final
virtual CRIWARECORE_API FAtomRuntimeHandle GetAtomRuntimeHandle () const final
virtual CRIWARECORE_API FAtomRuntimeId GetAtomRuntimeID () const final
virtual CRIWARECORE_API FAtomRuntime * GetMutableAtomRuntime () final
virtual CRIWARECORE_API Atom::FMixerSourceManager * GetMutableSourceManager () final
virtual CRIWARECORE_API const Atom::FMixerSourceManager * GetSourceManager () const final
Public Member Functions inherited from IAtomActiveSoundUpdate
virtual void NotifyActiveSoundCreated (FAtomActiveSound &ActiveSound)
virtual void NotifyActiveSoundOwner (FAtomActiveSound &ActiveSound, const UObject *Owner)
virtual void NotifyVirtualizedSoundCreated (FAtomActiveSound &ActiveSound)
virtual void NotifyVirtualizedSoundDeleting (const FAtomActiveSound &ActiveSound)
virtual void OnNotifyPendingDelete (const FAtomActiveSound &ActiveSound)

Protected Member Functions

bool AddProxy (uint32 AtomGameplayVolumeID, uint32 WorldID)
bool DoesSupportWorld (UWorld *World) const
void GenerateVolumeProxyList ()
bool IsAnyListenerInVolume (uint32 WorldID, uint32 VolumeID) const
bool RemoveProxy (uint32 AtomGameplayVolumeID)
void UpdateComponentsFromProxyInfo (const FAtomGameplayProxyUpdateResult &ProxyResults) const
void UpdateFromListeners ()
bool UpdateProxy (uint32 AtomGameplayVolumeID)

Protected Attributes

TMap< uint32, FAtomGameplayActiveSoundInfo > ActiveSoundData
TMap< uint32, TObjectPtr< const UAtomGameplayVolumeComponent > > AGVComponents
TArray< FAtomGameplayVolumeListener > AGVListeners
bool bHasStaleProxy = false
TArray< uint32 > KnownProxyIDs
float NextUpdateDeltaTime = 0.f
int32 PreviousProxyCount = 0
float TimeSinceUpdate = 0.f
TArray< TObjectPtr< UAtomGameplayVolumeProxy > > TransientProxyList
TMap< uint32, FAtomGameplayVolumeProxyInfo > WorldProxyLists

Detailed Description

Constructor & Destructor Documentation

◆ UAtomGameplayVolumeSubsystem()

UAtomGameplayVolumeSubsystem::UAtomGameplayVolumeSubsystem ( )

◆ ~UAtomGameplayVolumeSubsystem()

virtual UAtomGameplayVolumeSubsystem::~UAtomGameplayVolumeSubsystem ( )
virtualdefault

Member Function Documentation

◆ AddProxy()

bool UAtomGameplayVolumeSubsystem::AddProxy ( uint32 AtomGameplayVolumeID,
uint32 WorldID )
protected

(Atom Thread Only) Add, Update, Remove ProxyVolumes.

◆ AddVolumeComponent()

void UAtomGameplayVolumeSubsystem::AddVolumeComponent ( const UAtomGameplayVolumeComponent * VolumeComponent)

Add a volume to the system

◆ ApplyInteriorSettings()

void UAtomGameplayVolumeSubsystem::ApplyInteriorSettings ( const FAtomActiveSound & ActiveSound,
FAtomSoundParseParameters & ParseParams )
overridevirtual

Applies interior data previously collected to the active sound and parse parameters.

Parameters
ActiveSoundThe active sound affected.
ParseParamsThe parameters to apply to the playback instances.

Reimplemented from IAtomActiveSoundUpdate.

◆ Deinitialize()

void UAtomGameplayVolumeSubsystem::Deinitialize ( )
overridevirtual

◆ DoesSupportWorld()

bool UAtomGameplayVolumeSubsystem::DoesSupportWorld ( UWorld * World) const
protected

Returns true if we allow volumes from the world's type.

◆ GatherInteriorData()

void UAtomGameplayVolumeSubsystem::GatherInteriorData ( const FAtomActiveSound & ActiveSound,
FAtomSoundParseParameters & ParseParams )
overridevirtual

Gathers interior data that can affect the active sound. Non-const as this step can be used to track state about the sound on the implementing object.

Parameters
ActiveSoundThe active sound affected.
ParseParamsThe parameters to apply to the playback instances.

Reimplemented from IAtomActiveSoundUpdate.

◆ GenerateVolumeProxyList()

void UAtomGameplayVolumeSubsystem::GenerateVolumeProxyList ( )
protected

Generate a list of volume proxies from our component list

◆ GetPrimitiveComponent()

UPrimitiveComponent * UAtomGameplayVolumeSubsystem::GetPrimitiveComponent ( const UAtomGameplayVolumeComponent * VolumeComponent)

Gets the primitive component from the volume or null if volume proxy.

◆ GetVolumeComponent()

const UAtomGameplayVolumeComponent * UAtomGameplayVolumeSubsystem::GetVolumeComponent ( uint32 VolumeID)

Gets the Volume form its VolumeID if exist or null.

◆ IsAnyListenerInVolume()

bool UAtomGameplayVolumeSubsystem::IsAnyListenerInVolume ( uint32 WorldID,
uint32 VolumeID ) const
protected

Returns true if a listener associated with WorldID is inside the volume (by ID).

◆ IterateOverVolumeComponents()

const void UAtomGameplayVolumeSubsystem::IterateOverVolumeComponents ( TUniqueFunction< void(uint32, const UAtomGameplayVolumeComponent *)> ForEachComponent)
inline

◆ NotifyActiveSoundDeleting()

void UAtomGameplayVolumeSubsystem::NotifyActiveSoundDeleting ( const FAtomActiveSound & ActiveSound)
overridevirtual

Called when an active sound has just been removed from the audio engine, by being stopped or virtualized. In either case, the referenced ActiveSound object is about to be deleted; any pointers to it should be discarded.

NOTE! Called on the AudioThread

Parameters
ActiveSoundThe active sound being deleted

Reimplemented from IAtomActiveSoundUpdate.

◆ RemoveProxy()

bool UAtomGameplayVolumeSubsystem::RemoveProxy ( uint32 AtomGameplayVolumeID)
protected

◆ RemoveVolumeComponent()

void UAtomGameplayVolumeSubsystem::RemoveVolumeComponent ( const UAtomGameplayVolumeComponent * VolumeComponent)

Remove a volume from the system

◆ ShouldCreateSubsystem()

bool UAtomGameplayVolumeSubsystem::ShouldCreateSubsystem ( UObject * Outer) const
overridevirtual

◆ Update()

void UAtomGameplayVolumeSubsystem::Update ( )
overridevirtual

Override to get an update call during AtomRuntime::Update Note: This call will happen on the Atom thread

Reimplemented from UAtomEngineSubsystem.

◆ UpdateComponentsFromProxyInfo()

void UAtomGameplayVolumeSubsystem::UpdateComponentsFromProxyInfo ( const FAtomGameplayProxyUpdateResult & ProxyResults) const
protected

Update the components driven by proxies on the game thread.

◆ UpdateFromListeners()

void UAtomGameplayVolumeSubsystem::UpdateFromListeners ( )
protected

Update our representation of Atom listeners on the Atom thread.

◆ UpdateProxy()

bool UAtomGameplayVolumeSubsystem::UpdateProxy ( uint32 AtomGameplayVolumeID)
protected

◆ UpdateVolumeComponent()

void UAtomGameplayVolumeSubsystem::UpdateVolumeComponent ( const UAtomGameplayVolumeComponent * VolumeComponent)

Update an existing volume in the system

Member Data Documentation

◆ ActiveSoundData

TMap<uint32, FAtomGameplayActiveSoundInfo> UAtomGameplayVolumeSubsystem::ActiveSoundData
protected

◆ AGVComponents

TMap<uint32, TObjectPtr<const UAtomGameplayVolumeComponent> > UAtomGameplayVolumeSubsystem::AGVComponents
protected

◆ AGVListeners

TArray<FAtomGameplayVolumeListener> UAtomGameplayVolumeSubsystem::AGVListeners
protected

◆ bHasStaleProxy

bool UAtomGameplayVolumeSubsystem::bHasStaleProxy = false
protected

◆ KnownProxyIDs

TArray<uint32> UAtomGameplayVolumeSubsystem::KnownProxyIDs
protected

◆ NextUpdateDeltaTime

float UAtomGameplayVolumeSubsystem::NextUpdateDeltaTime = 0.f
protected

◆ PreviousProxyCount

int32 UAtomGameplayVolumeSubsystem::PreviousProxyCount = 0
protected

◆ TimeSinceUpdate

float UAtomGameplayVolumeSubsystem::TimeSinceUpdate = 0.f
protected

◆ TransientProxyList

TArray<TObjectPtr<UAtomGameplayVolumeProxy> > UAtomGameplayVolumeSubsystem::TransientProxyList
protected

◆ WorldProxyLists

TMap<uint32, FAtomGameplayVolumeProxyInfo> UAtomGameplayVolumeSubsystem::WorldProxyLists
protected

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