A Demo Project for the UnrealEngineSDK
Loading...
Searching...
No Matches
ApexSDK.cpp
Go to the documentation of this file.
1// Copyright 2022 PixoVR Corp. All Rights Reserved.
2
3#include "ApexSDK.h"
4#include "ApexLibrary.h"
5#include "ApexSDKSettings.h"
6#include "ApexSDKDefines.h"
7
8#include "Developer/Settings/Public/ISettingsModule.h"
9#include "UObject/Package.h"
10
11#define LOCTEXT_NAMESPACE "FApexSDKModule"
12
13DEFINE_LOG_CATEGORY_STATIC(LogApexSDKModule, Log, All);
14
15#define LogAPEX(pmt, ...) UE_LOG(LogApexSDKModule, Log, TEXT(pmt), ##__VA_ARGS__)
16#define WarnAPEX(pmt, ...) UE_LOG(LogApexSDKModule, Warning, TEXT(pmt), ##__VA_ARGS__)
17#define FatalAPEX(pmt, ...) UE_LOG(LogApexSDKModule, Fatal, TEXT(pmt), ##__VA_ARGS__)
18
20{
21 ModuleSettings = NewObject<UApexSDKSettings>(GetTransientPackage(), "ApexSDKSettings", RF_Standalone);
22 ModuleSettings->AddToRoot();
23
24 // Register settings
25 if (ISettingsModule* SettingsModule = FModuleManager::GetModulePtr<ISettingsModule>("Settings"))
26 {
27 SettingsModule->RegisterSettings("Project", "Plugins", "ApexSDK",
28 LOCTEXT("RuntimeSettingsName", "Apex SDK"),
29 LOCTEXT("RuntimeSettingsDescription", "Configure Apex SDK plugin settings"),
31 }
32
33 LogAPEX("%s: ApexSDK (%s) module started", *APEX_FUNC_LINE, *UApexLibrary::GetApexSDKVersion());
34
35 if (!FModuleManager::Get().IsModuleLoaded("WebSockets"))
36 {
37 LogAPEX("WebSockets module was not loading. Loading now.");
38 FModuleManager::Get().LoadModule("WebSockets");
39 }
40}
41
43{
44 if (ISettingsModule* SettingsModule = FModuleManager::GetModulePtr<ISettingsModule>("Settings"))
45 {
46 SettingsModule->UnregisterSettings("Project", "Plugins", "ApexSDK");
47 }
48
49 if (!GExitPurge)
50 {
51 ModuleSettings->RemoveFromRoot();
52 }
53 else
54 {
55 ModuleSettings = nullptr;
56 }
57}
58
64
66
67#undef LogAPEX
68#undef WarnAPEX
69#undef FatalAPEX
70
71#undef LOCTEXT_NAMESPACE
#define LogAPEX(pmt,...)
Definition ApexAPI.cpp:13
DEFINE_LOG_CATEGORY_STATIC(LogApexSDKModule, Log, All)
#define APEX_FUNC_LINE
IMPLEMENT_MODULE(FOpenXRExpansionEditorModule, OpenXRExpansionEditor)
UApexSDKSettings * ModuleSettings
Definition ApexSDK.h:42
virtual void StartupModule() override
Definition ApexSDK.cpp:19
UApexSDKSettings * GetSettings() const
Definition ApexSDK.cpp:59
virtual void ShutdownModule() override
Definition ApexSDK.cpp:42
static FString GetApexSDKVersion()
UCLASS(config = Engine, defaultconfig)