Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
ConstellationFactory 클래스 참조

#include <ConstellationFactory.h>

ConstellationFactory에 대한 협력 다이어그램:
Collaboration graph

정적 Public 멤버 함수

static UConstellationBaseCreateConstellation (UObject *Outer, const AEnemyCharacterBase *const Enemy)
 
static UConstellationBaseCreateConstellationFromRow (UObject *Outer, const FDT_ConstellationTable &Row)
 

정적 Private 멤버 함수

static FDT_ConstellationTable ResolveConstellationData (UStageManifest *Manifest, const AEnemyCharacterBase *const Enemy)
 
static UStageManifestResolveStageManifest ()
 

멤버 함수 문서화

◆ CreateConstellation()

UConstellationBase * ConstellationFactory::CreateConstellation ( UObject *  Outer,
const AEnemyCharacterBase *const  Enemy 
)
static
13{
15
16 if (Manifest == nullptr)
17 {
18 return nullptr;
19 }
20
22
23 if (Created == nullptr)
24 {
25 return nullptr;
26 }
27
29 Handle.EnemyCharacter = const_cast<AEnemyCharacterBase*>(Enemy);
30 Created->SetConstellationHandle(Handle);
31
32 return Created;
33}
Definition EnemyCharacterBase.h:49
static FDT_ConstellationTable ResolveConstellationData(UStageManifest *Manifest, const AEnemyCharacterBase *const Enemy)
Definition ConstellationFactory.cpp:70
static UStageManifest * ResolveStageManifest()
Definition ConstellationFactory.cpp:90
static UConstellationBase * CreateConstellationFromRow(UObject *Outer, const FDT_ConstellationTable &Row)
Definition ConstellationFactory.cpp:36
Definition ConstellationBase.h:35
FORCEINLINE void SetConstellationHandle(const FConstellationHandle &InHandle)
Definition ConstellationBase.h:63
Definition StageManifest.h:161
Definition ConstellationBase.h:18
TSoftObjectPtr< AEnemyCharacterBase > EnemyCharacter
Definition ConstellationBase.h:23
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ CreateConstellationFromRow()

UConstellationBase * ConstellationFactory::CreateConstellationFromRow ( UObject *  Outer,
const FDT_ConstellationTable Row 
)
static
37{
38 if (Row.Constellation_ID.IsNone())
39 {
40 return nullptr;
41 }
42
43 const UConstellationSettings* Settings = GetDefault<UConstellationSettings>();
44 const TSubclassOf<UConstellationBase> ConstellationClass = Settings->GetConstellationClass();
45
46 if (ConstellationClass == nullptr)
47 {
48 LOG_ERROR(LogCKAbility, "Constellation Settings 의 ConstellationClass 가 비어 있습니다.");
49 return nullptr;
50 }
51
52 // 성좌는 버프를 소유하지 않는다. 채팅에 필요한 값만 옮겨 담는다.
55 Data.Alias = Row.Alias;
56 Data.TrueName = Row.True_Name;
57 Data.Rank = Row.Rank;
61 Data.Icon = Row.Icon_Path;
62
63 UConstellationBase* Created = NewObject<UConstellationBase>(Outer, ConstellationClass);
64 Created->SetConstellationData(Data);
65
66 return Created;
67}
#define LOG_ERROR(Category, Format,...)
Definition CK_UE.h:40
FORCEINLINE void SetConstellationData(const FConstellationData &InConstellationData)
Definition ConstellationBase.h:58
Definition ConstellationSettings.h:12
FORCEINLINE TSubclassOf< UConstellationBase > GetConstellationClass() const
Definition ConstellationSettings.h:21
Definition ConstellationData.h:16
FName Constellation_ID
Definition ConstellationData.h:21
TSoftObjectPtr< UTexture2D > Icon
Definition ConstellationData.h:46
FText Alias
Definition ConstellationData.h:25
ESituationTag ReactionTags
Definition ConstellationData.h:35
FText DefaultReaction
Definition ConstellationData.h:39
FText TrueName
Definition ConstellationData.h:28
int32 Rank
Definition ConstellationData.h:31
FText TaggedReaction
Definition ConstellationData.h:43
FText Default_Reactions
Definition DT_ConstellationTable.h:51
FText True_Name
Definition DT_ConstellationTable.h:39
FText Alias
Definition DT_ConstellationTable.h:35
TSoftObjectPtr< UTexture2D > Icon_Path
Definition DT_ConstellationTable.h:58
int32 Rank
Definition DT_ConstellationTable.h:43
FName Constellation_ID
Definition DT_ConstellationTable.h:31
FText Tagged_Reactions
Definition DT_ConstellationTable.h:55
ESituationTag ParsedReactionTags
Definition DT_ConstellationTable.h:63
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ ResolveConstellationData()

FDT_ConstellationTable ConstellationFactory::ResolveConstellationData ( UStageManifest Manifest,
const AEnemyCharacterBase *const  Enemy 
)
staticprivate
71{
72 const FName ConstellationID = Enemy ? Enemy->GetConstellationID() : NAME_None;
73
74 if (ConstellationID.IsNone() == false)
75 {
76 const FDT_ConstellationTable Row = Manifest->GetConstellationTable(ConstellationID);
77
78 if (Row.Constellation_ID.IsNone() == false)
79 {
80 return Row;
81 }
82
83 LOG_WARNING(LogCKAbility, "Enemy_Master 가 지정한 Constellation_ID '%s'를 찾을 수 없어 무작위 성좌로 대체합니다.", *ConstellationID.ToString());
84 }
85
86 return Manifest->GetRandomConstellationTable();
87}
#define LOG_WARNING(Category, Format,...)
Definition CK_UE.h:39
FORCEINLINE FName GetConstellationID() const
Definition EnemyCharacterBase.h:82
virtual FDT_ConstellationTable GetConstellationTable(const FName &RowID)
Definition StageManifest.cpp:615
virtual FDT_ConstellationTable GetRandomConstellationTable()
Definition StageManifest.cpp:639
Definition DT_ConstellationTable.h:19
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ ResolveStageManifest()

UStageManifest * ConstellationFactory::ResolveStageManifest ( )
staticprivate
91{
92 UStageManifest* Manifest = UDataBundleRegistry::GetBundleAssetByTag<UStageManifest>(TAG_BUNDLE_INITIAL);
93 checkf(Manifest, TEXT("%s를 찾을 수 없어 성좌를 생성할 수 없습니다."), NAMEOF(UStageManifest));
94 return Manifest;
95}
#define NAMEOF(Type)
Definition CK_UE.h:30
이 함수를 호출하는 함수들에 대한 그래프입니다.:

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