솔루션 이름 : KGame

//KGame.h

//#include "CoreMinimal"
#include "EngineMinimal.h"

이 헤더는 여러 cpp 및  헤더에 연결을 해서 사용할 예정

Engine.h 는 내용이 많아서 무겁고, 여러 헤더에 연결을 해서 사용을 하면, 그만큼 비용을 들거라 예상

CoreMinimal.h은 기본적인 게임 구성에 포함하는 내용이 부족하므로

EngineMinimal.h 을 사용



사용할 디버그 로그 매크로 세팅

//h
DECLARE_LOG_CATEGORY_EXTERN(KGame, Log, All);
#define KLOG_CALLINFO (FString(__FUNCTION__) + TEXT("(") + FString::FromInt(__LINE__) + TEXT(")"))
#define KLOG_S(Verbosity) UE_LOG(KGame, Verbosity, TEXT("%s"), *KLOG_CALLINFO)
#define KLOG(Verbosity, Format, ...) UE_LOG(KGame, Verbosity, TEXT("%s %s"), *KLOG_CALLINFO, *FString::Printf(Format, ##__VA_ARGS__))
#define KCHECK(Expr, ...) {if(!(Expr)) {KLOG(Error, TEXT("ASSERTION : %s"), TEXT("'"#Expr"'")); return __VA_ARGS__;}}

//cpp
#include "KGame.h"
#include "Modules/ModuleManager.h"

DEFINE_LOG_CATEGORY(KGame);
IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, KGame, "KGame" ); 



사용예시

auto GameInstance = Cast<UGameInstance>(UGameplayStatics::GetGameInstance(GetWorld()));
KCHECK(nullptr != GameInstance);


게임실행에 방해는 안하고
Null일 경우 오류 메시지가 출력이 된다.

'Unreal > Game 2 ' 카테고리의 다른 글

4.1 기존 바인딩 함수 이동  (0) 2019.06.18
4. 캐릭터 애니메이션  (0) 2019.06.17
3. 플레이어 컨트롤러 (바인딩 방법 2개)  (0) 2019.06.15
2. 기본 게임모드 및 기본캐릭터 설정  (0) 2019.06.14
0. 게임 기획?  (0) 2019.06.14

+ Recent posts