CriWare Unreal Engine
Plug-ins for CriWare solutions.
読み取り中…
検索中…
一致する文字列を見つけられません
FAtomConcurrencyManager クラス

#include <AtomConcurrency.h>

公開メンバ関数

 FAtomConcurrencyManager (FAtomRuntime *InAtomRuntime)
CRIWARECORE_API ~FAtomConcurrencyManager ()
bool AddActiveSound (FAtomActiveSound &ActiveSound)
FAtomActiveSoundCreateNewActiveSound (const FAtomActiveSound &NewActiveSound, bool bIsRetriggering)
bool EvaluateActiveSound (const FAtomActiveSound &ActiveSound, bool bIsRetriggering)
CRIWARECORE_API void IterateOverConcurrencyGroups (TFunctionRef< void(FAtomConcurrencyGroup *)> Func) const
void RemoveActiveSound (FAtomActiveSound &ActiveSound)
void ResetConcurrency ()
void StopDueToVoiceStealing (FAtomActiveSound &ActiveSound)
void UpdateSoundsToCull ()
void UpdateVolumeScaleGenerations ()

非公開メンバ関数

FAtomConcurrencyGroupCanPlaySound (const FAtomActiveSound &NewActiveSound, const FAtomConcurrencyGroupId GroupID, TArray< FAtomActiveSound * > &OutSoundsToEvict, bool bIsRetriggering, bool bIsRealizing, bool &bOutEvictNew)
FAtomActiveSoundCreateAndEvictActiveSounds (FAtomActiveSound &NewActiveSound, const TArray< FAtomConcurrencyGroup * > &GroupsToApply, const TArray< FAtomActiveSound * > &SoundsToEvict, bool bIsRealizing, bool bEvictNewActiveSound)
FAtomConcurrencyGroupCreateNewConcurrencyGroup (const FAtomConcurrencyHandle &ConcurrencyHandle)
void CreateNewGroupsFromHandles (const FAtomActiveSound &NewActiveSound, const TArray< FAtomConcurrencyHandle > &ConcurrencyHandles, TArray< FAtomConcurrencyGroup * > &OutGroupsToApply)
FAtomActiveSoundEvaluateConcurrency (FAtomActiveSound &NewActiveSound, TArray< FAtomConcurrencyHandle > &ConcurrencyHandles, bool bIsRetriggering, bool bIsRealizing)
bool EvaluateConcurrencyInternal (const FAtomActiveSound &NewActiveSound, TArray< FAtomConcurrencyHandle > &ConcurrencyHandles, TArray< FAtomConcurrencyGroup * > &GroupsToApply, TArray< FAtomActiveSound * > &SoundsToEvictbool, bool bIsRetriggering, bool bIsRealizing, bool &bOutEvictNew)
FAtomActiveSoundGetEvictableSound (const FAtomActiveSound &NewActiveSound, const FAtomConcurrencyGroup &ConcurrencyGroup, bool bIsRetriggering)
FAtomActiveSoundGetEvictableSoundStopFarthest (const FAtomActiveSound &NewActiveSound, const FAtomConcurrencyGroup &ConcurrencyGroup, bool bIsRetriggering) const
FAtomActiveSoundGetEvictableSoundStopLowestPriority (const FAtomActiveSound &NewActiveSound, const FAtomConcurrencyGroup &ConcurrencyGroup, bool bIsRetriggering) const
FAtomActiveSoundGetEvictableSoundStopOldest (const FAtomActiveSound &NewActiveSound, const FAtomConcurrencyGroup &ConcurrencyGroup, bool bIsRetriggering) const
FAtomActiveSoundGetEvictableSoundStopQuietest (const FAtomActiveSound &NewActiveSound, const FAtomConcurrencyGroup &ConcurrencyGroup, bool bIsRetriggering) const

非公開変数類

FAtomRuntimeAtomRuntime
FAtomConcurrencyGroups ConcurrencyGroups
FAtomConcurrencyMap ConcurrencyMap
FAtomOwnerConcurrencyMap OwnerConcurrencyMap
FAtomOwnerPerSoundConcurrencyMap OwnerPerSoundConcurrencyMap
FAtomPerSoundToActiveSoundsMap SoundObjectToConcurrencyGroup

構築子と解体子

◆ FAtomConcurrencyManager()

FAtomConcurrencyManager::FAtomConcurrencyManager ( FAtomRuntime * InAtomRuntime)

◆ ~FAtomConcurrencyManager()

FAtomConcurrencyManager::~FAtomConcurrencyManager ( )

関数詳解

◆ AddActiveSound()

bool FAtomConcurrencyManager::AddActiveSound ( FAtomActiveSound & ActiveSound)

Try to add an existing active sound. Will return false if the active sound concurrency evaluation doesn't allow for it.

◆ CanPlaySound()

FAtomConcurrencyGroup * FAtomConcurrencyManager::CanPlaySound ( const FAtomActiveSound & NewActiveSound,
const FAtomConcurrencyGroupId GroupID,
TArray< FAtomActiveSound * > & OutSoundsToEvict,
bool bIsRetriggering,
bool bIsRealizing,
bool & bOutEvictNew )
private

Evaluates whether or not the sound can play given the concurrency group's rules. Appends permissible sounds to evict in order for sound to play (if required) and returns the desired concurrency group.

◆ CreateAndEvictActiveSounds()

FAtomActiveSound * FAtomConcurrencyManager::CreateAndEvictActiveSounds ( FAtomActiveSound & NewActiveSound,
const TArray< FAtomConcurrencyGroup * > & GroupsToApply,
const TArray< FAtomActiveSound * > & SoundsToEvict,
bool bIsRealizing,
bool bEvictNewActiveSound )
private

Creates an active sound to play, assigning it to the provided concurrency groups, and evicting required sounds

◆ CreateNewActiveSound()

FAtomActiveSound * FAtomConcurrencyManager::CreateNewActiveSound ( const FAtomActiveSound & NewActiveSound,
bool bIsRetriggering )

Returns a newly allocated active sound given the input active sound struct. Will return nullptr if the active sound concurrency evaluation doesn't allow for it.

◆ CreateNewConcurrencyGroup()

FAtomConcurrencyGroup & FAtomConcurrencyManager::CreateNewConcurrencyGroup ( const FAtomConcurrencyHandle & ConcurrencyHandle)
private

Creates a new concurrency group and returns pointer to said group

◆ CreateNewGroupsFromHandles()

void FAtomConcurrencyManager::CreateNewGroupsFromHandles ( const FAtomActiveSound & NewActiveSound,
const TArray< FAtomConcurrencyHandle > & ConcurrencyHandles,
TArray< FAtomConcurrencyGroup * > & OutGroupsToApply )
private

Creates new concurrency groups from handle array

◆ EvaluateActiveSound()

bool FAtomConcurrencyManager::EvaluateActiveSound ( const FAtomActiveSound & ActiveSound,
bool bIsRetriggering )

Evaluates whether active sound can be added to concurency tracking. Will return false if the active sound concurrency evaluation doesn't allow for it.

◆ EvaluateConcurrency()

FAtomActiveSound * FAtomConcurrencyManager::EvaluateConcurrency ( FAtomActiveSound & NewActiveSound,
TArray< FAtomConcurrencyHandle > & ConcurrencyHandles,
bool bIsRetriggering,
bool bIsRealizing )
private

Handles concurrency evaluation that happens per UAtomConcurrencyObject.

◆ EvaluateConcurrencyInternal()

bool FAtomConcurrencyManager::EvaluateConcurrencyInternal ( const FAtomActiveSound & NewActiveSound,
TArray< FAtomConcurrencyHandle > & ConcurrencyHandles,
TArray< FAtomConcurrencyGroup * > & GroupsToApply,
TArray< FAtomActiveSound * > & SoundsToEvictbool,
bool bIsRetriggering,
bool bIsRealizing,
bool & bOutEvictNew )
private

concurrency evaluation.

◆ GetEvictableSound()

FAtomActiveSound * FAtomConcurrencyManager::GetEvictableSound ( const FAtomActiveSound & NewActiveSound,
const FAtomConcurrencyGroup & ConcurrencyGroup,
bool bIsRetriggering )
private

Finds an active sound able to be evicted based on the provided concurrency settings.

◆ GetEvictableSoundStopFarthest()

FAtomActiveSound * FAtomConcurrencyManager::GetEvictableSoundStopFarthest ( const FAtomActiveSound & NewActiveSound,
const FAtomConcurrencyGroup & ConcurrencyGroup,
bool bIsRetriggering ) const
private

Helper functions for finding evictable sounds for the given concurrency rule.

◆ GetEvictableSoundStopLowestPriority()

FAtomActiveSound * FAtomConcurrencyManager::GetEvictableSoundStopLowestPriority ( const FAtomActiveSound & NewActiveSound,
const FAtomConcurrencyGroup & ConcurrencyGroup,
bool bIsRetriggering ) const
private

◆ GetEvictableSoundStopOldest()

FAtomActiveSound * FAtomConcurrencyManager::GetEvictableSoundStopOldest ( const FAtomActiveSound & NewActiveSound,
const FAtomConcurrencyGroup & ConcurrencyGroup,
bool bIsRetriggering ) const
private

◆ GetEvictableSoundStopQuietest()

FAtomActiveSound * FAtomConcurrencyManager::GetEvictableSoundStopQuietest ( const FAtomActiveSound & NewActiveSound,
const FAtomConcurrencyGroup & ConcurrencyGroup,
bool bIsRetriggering ) const
private

◆ IterateOverConcurrencyGroups()

void FAtomConcurrencyManager::IterateOverConcurrencyGroups ( TFunctionRef< void(FAtomConcurrencyGroup *)> Func) const

◆ RemoveActiveSound()

void FAtomConcurrencyManager::RemoveActiveSound ( FAtomActiveSound & ActiveSound)

Removes the active sound from concurrency tracking when active sound is stopped.

◆ ResetConcurrency()

void FAtomConcurrencyManager::ResetConcurrency ( )

◆ StopDueToVoiceStealing()

void FAtomConcurrencyManager::StopDueToVoiceStealing ( FAtomActiveSound & ActiveSound)

Stops sound, applying concurrency rules for how to stop.

◆ UpdateSoundsToCull()

void FAtomConcurrencyManager::UpdateSoundsToCull ( )

Culls any active sounds due to max concurrency sound resolution rule constraints being met

◆ UpdateVolumeScaleGenerations()

void FAtomConcurrencyManager::UpdateVolumeScaleGenerations ( )

Updates generations for concurrency groups set to scale active sound volumes by distance or priority

メンバ詳解

◆ AtomRuntime

FAtomRuntime* FAtomConcurrencyManager::AtomRuntime
private

Owning Atom runtime ptr for the concurrency manager.

◆ ConcurrencyGroups

FAtomConcurrencyGroups FAtomConcurrencyManager::ConcurrencyGroups
private

A map of concurrency active sound ID to concurrency active sounds

◆ ConcurrencyMap

FAtomConcurrencyMap FAtomConcurrencyManager::ConcurrencyMap
private

Global concurrency map that maps individual sounds instances to shared UAtomConcurrency UObjects.

◆ OwnerConcurrencyMap

FAtomOwnerConcurrencyMap FAtomConcurrencyManager::OwnerConcurrencyMap
private

◆ OwnerPerSoundConcurrencyMap

FAtomOwnerPerSoundConcurrencyMap FAtomConcurrencyManager::OwnerPerSoundConcurrencyMap
private

A map of owners to concurrency maps for sounds which are concurrency-limited per sound owner.

◆ SoundObjectToConcurrencyGroup

FAtomPerSoundToActiveSoundsMap FAtomConcurrencyManager::SoundObjectToConcurrencyGroup
private

Map of sound objects concurrency-limited globally


このクラス詳解は次のファイルから抽出されました:
  • C:/git/Engine/Plugins/Runtime/CriWare/CriWare/Source/CriWareCore/Public/Atom/AtomConcurrency.h
  • C:/git/Engine/Plugins/Runtime/CriWare/CriWare/Source/CriWareCore/Private/Atom/AtomConcurrency.cpp