(原) Unreal 自定義編輯器 - 編輯器模式-啟


@author: 白袍小道

 隨緣查看

 

前言:

這里接着上文來說,編輯器的另外一條------編輯器模式。(若需要查看引擎層該部分過程,可以遷移到Unreal搬山)

 

正文:

        1、實現圖

         

        a)說明

BaiPaoXDEditorCheck_EditorMode

 

模塊

主要方法:

StartupModule:    可以在這里將模式注冊      

+FEditorModeRegistry::Get().RegisterMode

 

ShutdownModule:    可以在這里將模式注銷

+FEditorModeRegistry::Get().UnregisterMode

BaiPaoXDEditorCheck_EditorModeEdMode

 

模塊模式

主要方法:

virtual void Enter() override;               //進入【例子中可以在這里構造工具且啟動

virtual void Exit() override;                  //退出

 

virtual void Tick(FEditorViewportClient* ViewportClient, float DeltaTime) override  

 

virtual void Render(const FSceneView* View, FViewport* Viewport, FPrimitiveDrawInterface* PDI) override;

 

virtual void ActorSelectionChangeNotify() override;

BaiPaoXDEditorCheck_EditorModeEdModeToolkit

 

模式工具,基本上可以在這里做事情,當然也可以做多個

主要方法:

/** FModeToolkit interface */

virtual void Init(const TSharedPtr<IToolkitHost>& InitToolkitHost) override;

 

/** IToolkit interface */

virtual FName GetToolkitFName() const override;

virtual FText GetBaseToolkitName() const override;

virtual class FEdMode* GetEditorMode() const override;

virtual TSharedPtr<class SWidget> GetInlineContent() const override { return ToolkitWidget; }

 

屬性

TSharedPtr<SWidget> ToolkitWidget;

  

           主要實現部分:

          

        2、需求和實現

              可以對選中的Actor 整體位置做隨機偏移[范圍定義],並能撤銷

              第一步:布局和結構

 

               

 

    SVerticalBox::Slot()   :  豎排

    

 

    AutoHeight:自動匹配高度

    HALign:橫向布局,  VAlign:縱向。      

     Padding(50):分割   

     Locals::MakeButton:   一個返回SButton的自定義方法,

 

    第二步:實現邏輯

     

    

    注意一下:.IsEnabled_Static(&Locals::IsWidgetEnabled)【可以是否灰掉】

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM