【Unity】UIElements Expansions: Reorderable List

UIElements Expansions是Unity Editor的扩展资产。

UIElements Expansions: Reorderable List

UIElements Expansions: Reorderable List」系列强烈支持「UIElements」,开始与Unity 2019.1。

所谓UIElements

UIElements是从Unity 2019.1开始引入的替换当前Unity编辑器的GUI系统(IMGUI)的功能。

您可以创建Unity的GUI,就像使用HTML和CSS创建网页一样,组合Unity的HTML「UXML」和Unity的样式表「USS」。

当然,您可以像以前一样在编辑器脚本中为编辑器编写处理,并且有像jQuery这样的方法,因此您可以创建像HTML5这样的动态GUI。

在未来,计划不仅取代编辑器,还取代运行时GUI(当前uGUI),并且有望留给未来的Unity GUI。

只是潜力很高,但由于它刚刚推出,它还没有足够的功能来充分利用它。

UIElements Expansions」是一种强烈支持其缺失部分的资产。

此「UIElements Expansions: Reorderable List」主要支持以下功能。

  • UIElements Expansions通用功能
    • 全局样式表
    • 检查器自动转换功能
    • 添加标签/功能
    • 附加类
  • Reorderable List

UIElements Expansions通用功能

请参阅以下页面。

Reorderable List

Reorderable List是一个有用的功能,也可用于IMGUI。您可以直观地操作序列化List<T>和数组,并且可以自由更改顺序。然而,即使在IMGUI时代,它的实现也很复杂,非常麻烦。

此外,由于UIElements甚至无法实现它,因此最终只能使用IMGUI。因此,UIElements USS无法应用且无法自由设置设计。

此外,IMGUI的可重新排序列表具有性能差的缺点,并且当元素数量变大时检查器的响应变得非常慢。

UIElements Expansions: Reorderable List 可在UIElements中使用新创建的Reorderable List。

通过USS调整详细的设计成为可能,因为IMGUI中的Reorderable List功能完好无损,并且成功地大大减轻了重量。

利用方法

导入

请从Unity Asset Store购买。

购买后可从「我的资产」导入。

Reorderable List

如果要在特定类中的List或检查器中查看数组Reorderable List,请在类的uxml文件中编写如下。

<editor:ReorderableList binding-path="要应用的List和数组变量名称" />

此时将显示自动应用样式的Reorderable List。

将皮肤应用于Reorderable List中的元素

常规样式表描述不允许您更改ReorderableList中元素的样式。

但是,由于内部类与其他元素一样可用,因此可以通过指定每个类来更改样式。

.unity-reorderable-list : Class that specifies the entire Reorderable List
 .unity-reorderable-list__header : Header part
     .unity-reorderable-list__icon : Icon in header
     .unity-reorderable-list__label : Label in header
     .unity-reorderable-list__add : Add button in header
     .unity-reorderable-list__remove : Remove button in header
 .unity-reorderable-list__content : Content part
     .unity-reorderable-list__item : Each element in the content
         .unity-reorderable-list__handle : Handle within each element
         .unity-reorderable-list__single : The part excluding the handle when each element is a single field (primitive type such as string or int)
 .unity-reorderable-list__footer : Footer part 

具体内容请参考「Assets/Masamune/Modules/unity.style/Styles」文件夹中的「PersonalStyle」和「ProStyle」。

总结

UIElements Expansions: Reorderable List」强烈支持「UIElements」,开始与Unity 2019.1。特别是,您可以轻松编写需要编写编辑器脚本的检查器的设计。

此外,使用「Reorderable List」可以更轻松地以List格式编辑数据。

该设计引入了平面设计,并且它被安排成与Unity 2019.3相匹配的形状,这将立即变得很酷,因此您可以舒适地使用它。

如果您有兴趣,请务必考虑一下,因为它在资产商店出售!

发表评论

电子邮件地址不会被公开。