This commit is contained in:
2025-08-02 12:09:34 +08:00
commit e70b01cdca
2785 changed files with 575579 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
# ConfigRestartRequired
- **功能描述:** 使属性在设置里改变后弹出重启编辑器的对话框。
- **使用位置:** UPROPERTY
- **引擎模块:** Config
- **元数据类型:** bool
- **常用程度:** ★★★
使属性在设置里改变后弹出重启编辑器的对话框。
自然的,一般是用于真的需要重启编辑器的设置。
## 测试代码:
```cpp
public:
UPROPERTY(Config, EditAnywhere, BlueprintReadWrite, Category = ConfigRestartRequired, meta = (ConfigRestartRequired="true"))
FString MyString_ConfigRestartRequired;
```
## 测试效果:
![Untitled](Untitled.png)
## 原理:
在SSettingsEditor生效可见得是在UI窗口发生改变。然后弹出对话框。
```cpp
void SSettingsEditor::NotifyPostChange( const FPropertyChangedEvent& PropertyChangedEvent, class FEditPropertyChain* PropertyThatChanged )
{
static const FName ConfigRestartRequiredKey = "ConfigRestartRequired";
if (PropertyChangedEvent.Property->GetBoolMetaData(ConfigRestartRequiredKey) || PropertyChangedEvent.MemberProperty->GetBoolMetaData(ConfigRestartRequiredKey))
{
OnApplicationRestartRequiredDelegate.ExecuteIfBound();
}
}
```