UE4自定义资源编辑器开发-编辑器应用模式

UE4自定义资源编辑器开发-编辑器应用模式

1 概述


上一节中提到了,编辑器可以包含不同的应用模式(即编辑模式),如行为树。

AssetAppMode

  • 基类: FApplicationMode

  • 特性: 一种应用模式维护一系列编辑器状态,如布局,标签,工具栏等

  • 用法: 编辑器类中调用SetCurrentMode(ModeName)方法来切换应用模式 (编辑器类需要从FWorkflowCentricApplication派生)


2 类定义


class FTestEditorApplicationMode : public FApplicationMode
{
public:
	FTestEditorApplicationMode(TSharedPtr<class FUserDefinedEditor> InTestEditor, FName InModeName);
	virtual void RegisterTabFactories(TSharedPtr<class FTabManager> InTabManager) override;
	virtual void PreDeactivateMode() override;
	virtual void PostActivateMode() override;
};
  • ModeName: 唯一标识名称

  • RegisterTabFactories: 注册不同的页签工厂类,每个工厂类对应一个页签,调用PushTabFactories为当前应用模式注册所有工厂类。


void FWorkflowCentricApplication::PushTabFactories(FWorkflowAllowedTabSet& FactorySetToPush)
{
	check(TabManager.IsValid());
	for (auto FactoryIt = FactorySetToPush.CreateIterator(); FactoryIt; ++FactoryIt)
	{
		FactoryIt.Value()->RegisterTabSpawner(TabManager.ToSharedRef(), CurrentAppModePtr.Get());
	}
}

  • PreDeactivateMode: 关闭该模式时调用,用于保存状态等功能。

  • PostActivateMode: 激活该模式时调用,用于恢复该模式各种状态。

链接




Tags: UE4 Editor Vistied:
Share: Twitter Facebook LinkedIn