UnrealPuertsImGui

这是一个基础模板工程,可以在Unreal下使用PuertsImGui(由UnrealImGui)开发Editor工具

本项目同时也维护PuertsXImGui这个核心联结插件

特色功能与修改点

UnrealImGui支持编辑器

原版UnrealImGui仅支持UE运行时。这里封装了一个SImGuiWidgetEd把ImGui的显示嵌进了编辑器界面

编辑器工具热更新

魔改Puerts使其在ts模块修改时可以抛出通知,PuertsXImGui模块接收到事件后重启JS虚拟机达到热更新的目的

源码修改点:

  • Plugins/Puerts/Source/Puerts/Public/PuertsModule.h:新增一个FOnModuleChange OnModuleChange委托
  • Plugins/Puerts/Source/PuertsEditor/Private/FileSystemOperation.cppUFileSystemOperation::PuertsNotifyChange新增IPuertsModule::Get().OnModuleChange.Broadcast(*Path)事件发送

ImGui在UE中支持输入法IME

重新封装了InputTextInputTextMultilineInputTextWithHint,利用其回调函数通过FUnrealImGuiModule::NotifyActiveImGuiInputText将用户输入数据发送到UE侧做处理。UE通过GetTextInputMethodSystem API来处理IME相关的功能