我们在日常工作或者开发过程中经常需要做一些重复又耗时的工作、或者是公司或者是项目需要一个工作流的辅助脚本。今天我们就来拓展一下我们的内容浏览器右键菜单(具体效果看下图),这样编写的脚本就有更大的发挥空间(据我目前知识来看,好像编辑器工具蓝图没有开放到可以拓展内容浏览器的文件夹右键菜单栏的程度,对于资源操作的菜单栏倒是可以蓝图脚本拓展)。
前言
本篇文章需要一定的C++知识和插件开发知识,在本文中运用到的知识和需要注意的点都会详细指出。
首先我们需要在我们的任意工程内创建一个编辑器的插件,点开插件设置弹出框内右下角点击新插件。我们基于空白的创建一个插件(它会自动为我们创建一些基础代码)
创建后打开C++工程然后我们需要修改插件的配置文件
然后进到模块的头文件,我们可以看到它继承自模块接口,并重写了模块加载和卸载的函数。
我们在下面添加代码
.h文件
//创建一个多播代理方便不同的对象绑定到该代理上
DECLARE_MULTICAST_DELEGATE(FOnActionbutClick);
class FContentBrowserExtModule : public IModuleInterface
{
public:
/** IModuleInterface implementation */
virtual void StartupModule() override;
virtual void ShutdownModule() override;
private:
TSharedRef<FExtender> OnExtendContentBrowserFolderSelectionMenu(const TArray<FString>& Path);
//菜单生成
void MenuExtension(FMenuBuilder& MenuBuilder);
void OnMenuButClick();
public:
FOnActionbutClick ActionExecute;
private: