Browse Source

feat: 添加 UToolMenus 的使用

Nicetry12138 1 year ago
parent
commit
380399bf67

BIN
UE5/引擎开发记录/Image/008.png


BIN
UE5/引擎开发记录/Image/009.png


BIN
UE5/引擎开发记录/Image/010.png


BIN
UE5/引擎开发记录/Image/011.png


+ 39 - 0
UE5/引擎开发记录/编辑器扩展.md

@@ -0,0 +1,39 @@
+# 编辑器扩展
+
+## 添加按钮
+
+在 `Config/DefaultEditorPerProjectUserSettings.ini` 文件中添加如下部分,可以查看一些界面的调试信息
+
+```ini
+[/Script/UnrealEd.EditorExperimentalSettings]
+bEnableEditToolMenusUI=True
+```
+
+> 最好添加到文件最上面
+
+![](Image/008.png)
+
+在 `Window` 窗口中选择开 `Enable Menu Edition` 即可开启调试
+
+![](Image/009.png)
+
+
+```cpp
+UToolMenu* AddMenu = UToolMenus::Get()->ExtendMenu("LevelEditor.LevelEditorToolBar.AssetsToolBar");
+FToolMenuSection& Section = AddMenu->FindOrAddSection("Content");
+
+Section.AddMenuEntry("OpenTestEditTab",
+    LOCTEXT("OpenBridgeTab_Label", "Test Edit Label"),
+    LOCTEXT("OpenBridgeTab_Desc", "Test Edit Desc."),
+    FSlateIcon(TEXT("BridgeStyle"), "Bridge.MenuLogo"),
+    FUIAction(FExecuteAction::CreateRaw(this, &FTestEditModule::CreateWindow), FCanExecuteAction())
+).InsertPosition = FToolMenuInsert("ImportContent", EToolMenuInsertType::After);
+```
+
+上述代码通过 `LevelEditor.LevelEditorToolBar.AssetsToolBar` 字符找到对应的 `UToolMenu` 
+
+![](Image/010.png)
+
+![](Image/011.png)
+
+然后获得名为 `Content` 的 `Section`,接下来可以向其中添加 `MenuEntry` 了