Unity中Reorderable List用法(待维护)

Unity官方文档里完全没有提到ReorderableList类,这是因为它不在UnityEngine或UnityEditor的命名空间下,而是在UnityEditorInternal命名空间下,这个命名空间里的东西是没有官方文档支持的
 
ReorderableList的作用
它的作用,是让一个数组,在Unity的Inspector界面上显示得更好一些
// 写法一
// 注意Wave是个struct, 后面会再提
public Wave[] wave;

// 写法二
public List<Wave> wave;
这两种结果,在Inspector上显示效果都是一样的,如下图所示:

这种List布局有以下缺点:

  • 无法手动改变这些元素的顺序
  • 如果要添加新元素,要改变上面的size,然后填新的值
  • 如果要删除其中一个元素,那么不太好做 

有了ReorderableList,就可以解决这些问题,用了它以后,Inspector上的数组UI会变成这样,红色区域的东西可以用于拖拽改变元素顺序:

 

具体的代码实现方法:

 
 
posted @ 2024-05-20 10:39  weigang  阅读(198)  评论(0编辑  收藏  举报