16#define COLORDATA_PATH TEXT("/Game/CustomContents/MasterData/DT_ColorData.DT_ColorData")
17#define COLORSTYLEDATA_PATH TEXT("/Game/CustomContents/MasterData/DT_ColorStyleData.DT_ColorStyleData")
18#define RESOURCETEXTUREDATA_PATH TEXT("/Game/CustomContents/MasterData/DT_ResourceTextureData.DT_ResourceTextureData")
19#define LEVELDATA_PATH TEXT("/Game/CustomContents/MasterData/DT_LevelData.DT_LevelData")
20#define LISTENDATA_PATH TEXT("/Game/CustomContents/MasterData/DT_ListenData.DT_ListenData")
21#define READDATA_PATH TEXT("/Game/CustomContents/MasterData/DT_ReadData.DT_ReadData")
22#define WORDDATA_PATH TEXT("/Game/CustomContents/MasterData/DT_WordStudyData.DT_WordStudyData")
23#define HOWTOPLAYDATA_PATH TEXT("/Game/CustomContents/MasterData/DT_HowToPlayPageData.DT_HowToPlayPageData")
40 Super::Initialize(Collection);
60 Super::Deinitialize();
79#pragma region HIT_STOP
98 static const FString ContextString(TEXT(
"HitStopTable"));
99 for (
const FName& RowName : TableObj->GetRowNames() )
121 PRINTLOG(TEXT(
"DataGetFail : %s"), *UEnum::GetValueAsString(Type) );
131 return Found->Duration;
136#pragma endregion HIT_STOP
138#pragma region KNOCKBACK
157 static const FString ContextString(TEXT(
"KnockbackTable"));
158 for (
const FName& RowName : TableObj->GetRowNames() )
180 PRINTLOG(TEXT(
"DataGetFail : %s"), *UEnum::GetValueAsString(Type) );
183#pragma endregion KNOCKBACK
185#pragma region CHARACTER_INFO_DATA
204 static const FString ContextString(TEXT(
"CharacterInfoTable"));
205 for (
const FName& RowName : TableObj->GetRowNames() )
227 PRINTLOG(TEXT(
"DataGetFail : %s"), *UEnum::GetValueAsString(Type) );
230#pragma endregion CHARACTER_INFO_DATA
232#pragma region CHARACTER_ASSET_DATA
251 static const FString ContextString(TEXT(
"CharacterAssetTable"));
252 for (
const FName& RowName : TableObj->GetRowNames() )
274 PRINTLOG(TEXT(
"DataGetFail : %s"), *UEnum::GetValueAsString(Type) );
277#pragma endregion CHARACTER_ASSET_DATA
279#pragma region COLOR_DATA
298 static const FString ContextString(TEXT(
"ColorDataTable"));
299 for (
const FName& RowName : TableObj->GetRowNames())
321 PRINTLOG(TEXT(
"DataGetFail : ColorData Index %d"), Index);
327 TArray<FColorData> Result;
334 if (Pair.Value.Level == Level)
336 Result.Add(Pair.Value);
353#pragma endregion COLOR_DATA
355#pragma region COLOR_STYLE_DATA
374 static const FString ContextString(TEXT(
"ColorStyleDataTable"));
375 for (
const FName& RowName : TableObj->GetRowNames())
380 FString EnumString = RowName.ToString();
382 StaticEnum<EColorStyleType>()->GetValueByNameString(EnumString)
403 PRINTLOG(TEXT(
"DataGetFail : ColorStyleData Type %s"), *UEnum::GetValueAsString(Type));
410 return TMap<EColorStyleType, FColorStyleData>();
414#pragma endregion COLOR_STYLE_DATA
416#pragma region RESOURCE_TEXTURE_DATA
435 static const FString ContextString(TEXT(
"ResourceTextureDataTable"));
436 for (
const FName& RowName : TableObj->GetRowNames())
441 FString EnumString = RowName.ToString();
443 StaticEnum<EResourceTextureType>()->GetValueByNameString(EnumString)
464 PRINTLOG(TEXT(
"DataGetFail : ResourceTextureData Type %s"), *UEnum::GetValueAsString(Type));
476 return Found->Texture.LoadSynchronous();
481#pragma endregion RESOURCE_TEXTURE_DATA
483#pragma region LEVEL_DATA
502 static const FString ContextString(TEXT(
"LevelDataTable"));
503 for (
const FName& RowName : TableObj->GetRowNames())
521 if (Pair.Value.Step == Step && Pair.Value.Level == Level)
528 PRINTLOG(TEXT(
"DataGetFail : LevelData Step %d, Level %d"), Step, Level);
531#pragma endregion LEVEL_DATA
533#pragma region LISTEN_DATA
552 static const FString ContextString(TEXT(
"ListenDataTable"));
553 for (
const FName& RowName : TableObj->GetRowNames())
575 PRINTLOG(TEXT(
"DataGetFail : ListenData Index %d"), Index);
581 TArray<FListenData> Result;
588 if (Pair.Value.Step == Step && Pair.Value.Level == Level)
590 Result.Add(Pair.Value);
599 TArray<FListenData> Result;
606 if (Pair.Value.Category.Equals(Category))
608 Result.Add(Pair.Value);
625#pragma endregion LISTEN_DATA
627#pragma region READ_DATA
646 static const FString ContextString(TEXT(
"ReadDataTable"));
647 for (
const FName& RowName : TableObj->GetRowNames())
649 if (
const FReadData* Row = TableObj->FindRow<
FReadData>(RowName, ContextString,
true))
669 PRINTLOG(TEXT(
"DataGetFail : ReadData Index %d"), Index);
675 TArray<FReadData> Result;
682 if (Pair.Value.Level == Level)
684 Result.Add(Pair.Value);
701#pragma endregion READ_DATA
703#pragma region WORD_DATA
722 static const FString ContextString(TEXT(
"WordStudyDataTable"));
723 for (
const FName& RowName : TableObj->GetRowNames())
745 PRINTLOG(TEXT(
"DataGetFail : WordData Index %d"), Index);
751 TArray<FWordStudyData> Result;
758 Result.Add(Pair.Value);
763#pragma endregion WORD_DATA
765#pragma region HOW_TO_PLAY_DATA
784 static const FString ContextString(TEXT(
"HowToPlayPageDataTable"));
785 for (
const FName& RowName : TableObj->GetRowNames())
790 FString EnumString = RowName.ToString();
792 StaticEnum<EHowToPlayPageType>()->GetValueByNameString(EnumString)
813 PRINTLOG(TEXT(
"DataGetFail : HowToPlayPageData Type %s"), *UEnum::GetValueAsString(Type));
819 TArray<FHowToPlayPageData> Result;
826 Result.Add(Pair.Value);
831#pragma endregion HOW_TO_PLAY_DATA
UCharacterData 클래스를 선언합니다.
FComponentHelper 구조체를 선언합니다.
EHowToPlayPageType
HowToPlay 페이지 타입
YiSan 전반에서 사용하는 공용 인터페이스를 선언합니다.
#define PRINTLOG(fmt,...)
#define HOWTOPLAYDATA_PATH
#define RESOURCETEXTUREDATA_PATH
#define COLORSTYLEDATA_PATH
UGameDataManager 클래스를 선언합니다.
virtual void Initialize(FSubsystemCollectionBase &Collection) override
void LoadData_ResourceTextureData()
UTexture2D * GetTexture(EResourceTextureType Type) const
TMap< ECharacterType, FCharacterAssetData > CharacterAssetCache
void LoadData_HowToPlayPageData()
void LoadData_WordStudyData()
virtual void Deinitialize() override
void LoadData_CharacterAssetData()
void Clear_HowToPlayPageData()
TMap< int32, FListenData > ListenDataCache
TSoftObjectPtr< UDataTable > ResourceTextureDataTable
TSoftObjectPtr< UDataTable > ColorDataTable
bool GetKnockbackData(EDamageType Type, FKnockbackData &Out) const
bool GetWordStudyData(int32 Index, FWordStudyData &Out) const
void LoadData_ListenData()
TMap< int32, FWordStudyData > WordStudyDataCache
TMap< int32, FColorData > ColorDataCache
void LoadData_LevelData()
bool GetReadData(int32 Index, FReadData &Out) const
TArray< FListenData > GetListenDataByStepAndLevel(int32 Step, int32 Level) const
TArray< FListenData > GetListenDataByCategory(const FString &Category) const
TMap< EDamageType, FKnockbackData > KnockbackCache
TMap< EHowToPlayPageType, FHowToPlayPageData > HowToPlayPageDataCache
bool GetLevelData(int32 Step, int32 Level, FLevelData &Out) const
TSoftObjectPtr< UDataTable > CharacterInfoTable
bool GetResourceTextureData(EResourceTextureType Type, FResourceTextureData &Out) const
TMap< int32, FLevelData > LevelDataCache
TArray< FColorData > GetColorDataByLevel(int32 Level) const
void Clear_CharacterAssetData()
bool GetCharacterInfoData(ECharacterType Type, FCharacterInfoData &Out) const
TMap< EResourceTextureType, FResourceTextureData > ResourceTextureDataCache
TSoftObjectPtr< UDataTable > ReadDataTable
TMap< EColorStyleType, FColorStyleData > GetAllColorStyleData() const
TMap< EColorStyleType, FColorStyleData > ColorStyleDataCache
TArray< FReadData > GetReadDataByLevel(int32 Level) const
TArray< int32 > GetAllListenDataKeys() const
TSoftObjectPtr< UDataTable > CharacterAssetTable
TArray< FWordStudyData > GetAllWordStudyData() const
TSoftObjectPtr< UDataTable > LevelDataTable
bool GetListenData(int32 Index, FListenData &Out) const
float GetHitStopDelayTime(EDamageType Type) const
bool GetColorStyleData(EColorStyleType Type, FColorStyleData &Out) const
bool GetCharacterAssetData(ECharacterType Type, FCharacterAssetData &Out) const
bool GetHowToPlayPageData(EHowToPlayPageType Type, FHowToPlayPageData &Out) const
TArray< int32 > GetAllReadDataKeys() const
bool bLoadResourceTextureData
bool GetHitStopData(EDamageType Type, UPARAM(ref) FHitStopData &Out) const
TSoftObjectPtr< UDataTable > HitStopTable
bool bLoadHowToPlayPageData
void Clear_WordStudyData()
void Clear_KnockbackTable()
TMap< int32, FReadData > ReadDataCache
void Clear_ResourceTextureData()
void Clear_CharacterInfoData()
TMap< ECharacterType, FCharacterInfoData > CharacterInfoCache
void LoadData_KnockbackTable()
TSoftObjectPtr< UDataTable > KnockbackTable
TSoftObjectPtr< UDataTable > HowToPlayPageDataTable
TMap< EDamageType, FHitStopData > HitStopCache
void LoadData_CharacterInfoData()
void LoadData_ColorStyleData()
TSoftObjectPtr< UDataTable > ListenDataTable
TSoftObjectPtr< UDataTable > ColorStyleDataTable
void LoadData_ColorData()
void LoadData_HitStopTable()
void Clear_ColorStyleData()
TArray< int32 > GetAllColorDataKeys() const
void Clear_HitStopTable()
TSoftObjectPtr< UDataTable > WordStudyDataTable
bool GetColorData(int32 Index, FColorData &Out) const
TArray< FHowToPlayPageData > GetAllHowToPlayPageData() const
static T * LoadAsset(const TCHAR *Path)