KLingo Project Documentation 1.0.0
Unreal Engine 5.6 C++ Project Documentation
로딩중...
검색중...
일치하는것 없음
UGameVFXManager 클래스 참조

게임 내 시각 효과(VFX) 재생을 관리하는 중앙 VFX 관리 서브시스템입니다. 더 자세히 ...

#include <UGameVFXManager.h>

+ UGameVFXManager에 대한 상속 다이어그램 :
+ UGameVFXManager에 대한 협력 다이어그램:

Public 멤버 함수

 UGameVFXManager ()
 
 DEFINE_SUBSYSTEM_GETTER_INLINE (UGameVFXManager)
 
bool GetVFXData (EVFXType Type, FVFXData &Out) const
 
virtual void Initialize (FSubsystemCollectionBase &Collection) override
 
void ShowVFX (EVFXType Type, FVector Location, FRotator Rotator, FVector Scale)
 

Private 속성

TObjectPtr< class UVFXDataAssetVFXAsset
 
TMap< EVFXType, FVFXDataVFXDataMap
 

상세한 설명

게임 내 시각 효과(VFX) 재생을 관리하는 중앙 VFX 관리 서브시스템입니다.

데이터 에셋에 미리 정의된 VFX 데이터를 기반으로 특정 위치, 회전, 크기로 파티클 시스템을 스폰하는 기능을 제공합니다.

UGameVFXManager.h 파일의 21 번째 라인에서 정의되었습니다.

생성자 & 소멸자 문서화

◆ UGameVFXManager()

UGameVFXManager::UGameVFXManager ( )

UGameVFXManager.cpp 파일의 17 번째 라인에서 정의되었습니다.

18{
20 {
21 VFXAsset = LoadedAsset;
22 VFXDataMap = VFXAsset->VFXData;
23 }
24}
#define VFX_DATA_PATH
TMap< EVFXType, FVFXData > VFXDataMap
TObjectPtr< class UVFXDataAsset > VFXAsset
static T * LoadAsset(const TCHAR *Path)

다음을 참조함 : FComponentHelper::LoadAsset(), VFX_DATA_PATH, VFXAsset, VFXDataMap.

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

멤버 함수 문서화

◆ DEFINE_SUBSYSTEM_GETTER_INLINE()

UGameVFXManager::DEFINE_SUBSYSTEM_GETTER_INLINE ( UGameVFXManager  )

◆ GetVFXData()

bool UGameVFXManager::GetVFXData ( EVFXType  Type,
FVFXData Out 
) const

UGameVFXManager.cpp 파일의 37 번째 라인에서 정의되었습니다.

38{
39 if (const FVFXData* Found = VFXDataMap.Find(Type))
40 {
41 Out = *Found;
42 return true;
43 }
44
45 PRINTLOG(TEXT("DataGetFail : %s"), *UEnum::GetValueAsString(Type) );
46 return false;
47}
#define PRINTLOG(fmt,...)
Definition GameLogging.h:30

다음을 참조함 : PRINTLOG, VFXDataMap.

다음에 의해서 참조됨 : ShowVFX().

+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ Initialize()

void UGameVFXManager::Initialize ( FSubsystemCollectionBase &  Collection)
overridevirtual

UGameVFXManager.cpp 파일의 26 번째 라인에서 정의되었습니다.

27{
28 Super::Initialize(Collection);
29
30 if (!VFXAsset)
31 {
32 UE_LOG(LogTemp, Error, TEXT("Failed to load VFXDataAsset from path"));
33 }
34}

다음을 참조함 : VFXAsset.

◆ ShowVFX()

void UGameVFXManager::ShowVFX ( EVFXType  Type,
FVector  Location,
FRotator  Rotator,
FVector  Scale 
)

UGameVFXManager.cpp 파일의 49 번째 라인에서 정의되었습니다.

51{
52 FVFXData Params;
53 if (!this->GetVFXData(Type, Params))
54 return;
55
56 UNiagaraFunctionLibrary::SpawnSystemAtLocation(
57 GetWorld(),
58 Params.VFXAsset,
59 Location + Params.LocationOffset,
60 Rotator + Params.RotatorOffset,
61 Scale * Params.Scale,
62 true,
63 true,
64 ENCPoolMethod::None,
65 true
66 );
67}
bool GetVFXData(EVFXType Type, FVFXData &Out) const
float Scale
FVector LocationOffset
FRotator RotatorOffset
TObjectPtr< class UNiagaraSystem > VFXAsset

다음을 참조함 : GetVFXData(), FVFXData::LocationOffset, FVFXData::RotatorOffset, FVFXData::Scale, FVFXData::VFXAsset.

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ VFXAsset

TObjectPtr<class UVFXDataAsset> UGameVFXManager::VFXAsset
private

UGameVFXManager.h 파일의 40 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : UGameVFXManager(), Initialize().

◆ VFXDataMap

TMap<EVFXType, FVFXData> UGameVFXManager::VFXDataMap
private

UGameVFXManager.h 파일의 43 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : UGameVFXManager(), GetVFXData().


이 클래스에 대한 문서화 페이지는 다음의 파일들로부터 생성되었습니다.: