(Feat) Add Animation
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
|
||||
#include "SurvivalAudioSettings.h"
|
||||
|
||||
#include "Sound/SoundClass.h"
|
||||
|
||||
FName USurvivalAudioSettings::GetCategoryName() const
|
||||
{
|
||||
return TEXT("Game");
|
||||
}
|
||||
|
||||
USurvivalAudioSettings* USurvivalAudioSettings::Get()
|
||||
{
|
||||
// GetMutableDefault et non GetDefault : les champs Cached* sont remplis a la
|
||||
// demande, donc les accesseurs ne peuvent pas etre const. Ce ne sont ni des
|
||||
// UPROPERTY ni des donnees serialisees -- muter un CDO n'est un probleme que
|
||||
// pour ce qui part sur le disque.
|
||||
return GetMutableDefault<USurvivalAudioSettings>();
|
||||
}
|
||||
|
||||
USoundClass* USurvivalAudioSettings::Resolve(const TSoftObjectPtr<USoundClass>& Asset, TStrongObjectPtr<USoundClass>& Cache)
|
||||
{
|
||||
if (Cache.IsValid())
|
||||
{
|
||||
return Cache.Get();
|
||||
}
|
||||
|
||||
if (Asset.IsNull())
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
// Synchrone assume : une SoundClass est un objet minuscule, et le chargement
|
||||
// n'a lieu qu'une fois par lancement.
|
||||
//
|
||||
// Reset et pas une affectation : c'est ce Reset qui pose l'ancre GC, et la
|
||||
// raison pour laquelle ces caches ne sont pas des UPROPERTY (voir le header).
|
||||
Cache.Reset(Asset.LoadSynchronous());
|
||||
return Cache.Get();
|
||||
}
|
||||
|
||||
USoundClass* USurvivalAudioSettings::GetMasterSoundClass()
|
||||
{
|
||||
return Resolve(MasterSoundClass, CachedMasterSoundClass);
|
||||
}
|
||||
|
||||
USoundClass* USurvivalAudioSettings::GetMusicSoundClass()
|
||||
{
|
||||
return Resolve(MusicSoundClass, CachedMusicSoundClass);
|
||||
}
|
||||
|
||||
USoundClass* USurvivalAudioSettings::GetEffectsSoundClass()
|
||||
{
|
||||
return Resolve(EffectsSoundClass, CachedEffectsSoundClass);
|
||||
}
|
||||
|
||||
USoundClass* USurvivalAudioSettings::GetUiSoundClass()
|
||||
{
|
||||
return Resolve(UiSoundClass, CachedUiSoundClass);
|
||||
}
|
||||
Reference in New Issue
Block a user