////////
Search
Duplicate

Plugin 초기화

생성일
2024/03/14 22:04
태그
Plugin을 초기화하려면 FStovePCConfig 구조체에 Plugin(STOVE PC SDK)의 환경값을 설정하고, 아래 예제 코드를 UMyStoveSDKObject::StoveSDKInit함수에 입력합니다.
주의사항 YOUR_APP_KEYYOUR_SECRET_KEYYOUR_GAME_ID는 사전에 발급 받은 데이터로 변경 합니다. 스토브 런처에 로그인 하지 않은 상태로 UMyStoveSDKObject::StoveSDKInit 함수를 호출하면 에러가 발생합니다.
MyStoveSDKObject.cpp
FStoveResult UMyStoveSDKObject::StoveSDKInit(const FStoveConfig& Config) { /*여기에 '따라하기' 코드를 추가합니다.*/ /*이 함수에서 함수인자로 받은 Config는 무시합니다. */ //config FStoveConfig ReplaceConfig{ "LIVE", "YOUR_APP_KEY", "YOUR_SECRET_KEY", "YOUR_GAME_ID", STOVE_PC_LOG_LEVEL_DEBUG, "" }; // logpath FStoveResult ErrorResult = Super::StoveSDKInit(ReplaceConfig); if (ErrorResult.Result == STOVE_PC_NO_ERROR) { OnLog("[Success] StovePC_Init"); } else { OnLog("[Error] StovePC_Init, Result %d", ErrorResult.Result); } return ErrorResult; }
C++
복사
주의사항 PCSDK 로그경로는 절대적경로로 설정해야 합니다. ex) C:\Program Files\{Your Game Folder}\Logs 마지막에 "\"는 추가하지 않습니다. PCSDK 에서 "StovePCSDK.log" 파일명을 자동으로 추가합니다. 만약 "" 빈문자열로 경로를 설정하게 되면 PCSDK는 자동적으로 게임실행파일 폴더 또는 PCSDK DLL 이 위치한 폴더의 경로로 로그가 생성됩니다. 위 코드의 YOUR_APP_KEY, YOUR_SECRET_KEY, YOUR_GAME_ID는 STOVE Studio (opens new window)에서 사전에 등록한 ID와 Key값으로 변경해야 됩니다. 만약 STOVE Studio에 입점 신청한 스토브 계정으로 스토브 런처에 로그인 하지 않고 Super::StoveSDKInit 함수가 호출되면 150 에러코드(sgup 초기화 실패)가 발생합니다.
UMyStoveSDKObject::StoveSDKInit 함수의 반환 값이 STOVE_PC_NO_ERROR 즉, '성공'이면 UMyStoveSDKObject의 슈퍼클래스(Super class)인 UStoveSDKObject::StoveSDKInit 함수에서 _isOnCallback값에 true를 입력해서 UStoveSDKObject::Tick함수를 타이머처럼 이용하게 됩니다.
UMyStoveSDKObject::StoveSDKInit 함수가 정상적으로 완료되었는지를 확인하기 위해 콜백 UMyStoveSDKObject::OnInitComplete 함수에 아래와 같이 OnLog를 추가합니다.
MyStoveSDKObject.cpp
void UMyStoveSDKObject::OnInitComplete() { /*여기에 '따라하기' 코드를 추가합니다.*/ OnLog("[Success] InitComplete"); }
C++
복사
UMyStoveSDKObject::StoveSDKInit 함수, 또는 기타 다른 Plugin의 함수 호출이 실패하는 경우 콜백 UMyStoveSDKObject::OnError 함수를 통해 에러 코드를 확인할 수 있습니다. 에러코드를 확인하기 위해서는 아래와 같이 UMyStoveSDKObject::OnError 함수의 인자로 들어오는 FStoveError 구조체를 통해 에러 정보를 얻을 수 있습니다.
MyStoveSDKObject.cpp
void UMyStoveSDKObject::OnError(FStoveError Error) { /*여기에 '따라하기' 코드를 추가합니다.*/ OnLog("[Error]"); OnLog("FuncType: %d", Error.FunctionType); OnLog("Result: %d", Error.ErrorResult.Result); OnLog("ExternalError: %d", Error.ExternalError); }
C++
복사