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

发表于2017-09-17
评论0 1.5k浏览

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

可以看到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的配置文件,这里保存的就是咱们自定义的配置信息。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

0个评论