PlacementBrowser的源码在 Editor/PlacementMode下面
一、Placement分类的创建
1. Placement分类被存贮在 FPlacementModeModule 的成员变量 Categories里面。
2. 在 FPlacementModeModule::StartupModule() 创建出所有的Placement分类
3. 每个大类由RegisterPlacementCategory函数进行注册,每个大类后再创建出小类
4. 创建完成后,由GetSortedCategories函数获取
二、Placement的界面创建
1. 在SPlacementModeTools::CreatePlacementGroupTab 中进行placement的界面创建
2. 从slate UI的创建可以看到,Placement用的是 SCheckBox
3. 修改其背景颜色有两种办法
一是直接添加 .BorderBackgroundColor(FLinearColor(0.0f, 1.0f, 0.0f, 0.5f))
二是修改其Style
4. 通过查找 “PlacementBrowser.Tab”名称,可以找到这个style的设置是在SlateEditorStyle.cpp中,如下图
6种风格,见名知意,其中画刷有三个参数,图片,margin,颜色,图片和颜色会融合。