Unity3D研究院之Inspector面板枚举的别名与排序

虽然mono是支持unicode的。可以在枚举里写中文,但是我还是觉得写英文好一些。可是在编辑器上策划是希望看到的是中文的,还有就是枚举的展示排序功能,策划在编辑的时候为了方便希望把常用的枚举排上前面。

把如下代码放到你的工程里就可以直接用了。

使用是这样的,第二个参数就是排序。接收int的不固定参数。

OK 中文与排序都OK了。

Unity3D研究院之Inspector面板枚举的别名与排序(八十九) - 雨松MOMO程序研究院 - 1

但是,有时候我们做编辑器的时候是自己调用OnInspectorGUI来绘制面板的。而且我的枚举对象可能会在另外一个子对象里,或者在子对象里的一个List<T>里面的子对象里。

比如这样, class.data.newType 就是这个类对象的结构,你可以按照你自己类的结构去拼这个字符串。

还有一种特殊的就是可能枚举在list<T>里,这样在绘制的时候是需要遍历的。

OK大功告成。

参考文章:

 https://github.com/anchan828/property-drawer-collection/blob/master/EnumLabel/EnumLabelAttribute.cs

http://forum.unity3d.com/threads/enum-inspector-sorting-attribute.357558/

原文地址:https://www.cnblogs.com/android-blogs/p/6087962.html