Unreal自定义编辑器有两种方式 :
1. 插件方式
2. 自定义编辑器模块
Unreal中的编辑器都是使用Slate进行布局和创建
插件方式
1. 创建项目:选择基础代码
2. 选择 编辑->插件
3. 点击 新插件 按钮
4. 选择编辑器Standalone窗口
5. 创建完成,并不会立即显示编辑器菜单,下图并没有添加新的东西
6. 重启编辑器
7. 打开插件窗口看看
8. 分析
前面说过,ShutdownModule并不是关闭窗口的时候调用,因此,要想关闭窗口的时候调用需要注册关闭事件
void FTestEditorModule::PluginButtonClicked()
{
FGlobalTabmanager::Get()->InvokeTab(TestEditorTabName)->
SetOnTabClosed(SDockTab::FOnTabClosedCallback::CreateLambda([this](TSharedRef<SDockTab> Self) {
this->OnWindowClose(Self);
}));
}
void FTestEditorModule::OnWindowClose(TSharedRef<SDockTab> DockTab)
{
UE_LOG(LogTemp, Display, TEXT("FTestEditorModule Close"))
}