Unreal Engine 4添加自定义Settings到项目设置

Unreal Engine 4添加自定义Settings到项目设置

在开发的过程中,很多时候需要在项目中应用各种各样的设置。有些人会自己实现一套,其实没必要那么麻烦,虚幻4专门为开发者提供了一套配置系统,方便又省事。效果如下:
Unreal Engine 4添加自定义Settings到项目设置_第1张图片

可以看到Settings是和编辑器的配置是并列的,同样是在项目设置窗口中。
下面将一步一步描述如何具体实现这一功能。
首先创建类MySettings,这个类继承自UObject,代码如下:
MySettings.h

UCLASS(config=MySettings)
class SETTINGSTEST_API UMySettings : public UObject { GENERATED_BODY() public: UMySettings(const FObjectInitializer& obj); UPROPERTY(Config, EditAnywhere, Category = Settings) int32 SomeIntProperty; UPROPERTY(Config, EditAnywhere, Category = Settings) bool SomeBoolProperty; };

MySettings.cpp

UMySettings::UMySettings(const FObjectInitializer& obj)
{
    SomeIntProperty = 0;
    SomeBoolProperty = true;
}

作为演示,UMySettings只包装了两个简单的变量,读者可以按照需要扩展更复杂的配置变量。
接下来,需要在合适的地方注册这个配置对象。

#include "ISettingsModule.h"
//省略。。。
#define LOCTEXT_NAMESPACE "MySettings"

if (ISettingsModule* SettingsModule = FModuleManager::GetModulePtr<ISettingsModule>("Settings"))
{
    SettingsModule->RegisterSettings("Project", "Plugins", "MySettings",
        LOCTEXT("RuntimeSettingsName", "My Settings Page"),
        LOCTEXT("RuntimeSettingsDescription", "Configure my settings"),
        GetMutableDefault<UMySettings>()
    );
}

代码执行后,可以在项目的Saved/Config/Windows下面发现创建了一个MySettings.ini的配置文件,这里保存的就是咱们自定义的配置信息。

你可能感兴趣的:(C++,Engine,Settings,Unreal)