首先,OdinInspector需要在AssetStore付费购买,有的时候打折包也会包含
1.Attribute
排版更加美观和易于管理,且使用非常方便,只需要加Attribute就能显示在Inspector,并且官方提供了非常多的Attribute,想要使用的时候直接在Unity中查看使用就可以,也提供了代码
直接在Inspector显示一个Button:
给过多的变量进行分组,只要给TabGroup后相同的字符串即表明是在同一个tab下显示:
ButtonGroup同理
除了让排版更美观之外,还有一些Attribute并不会在外观上有任何表现,但能让Inspector更智能,比如在变量的值改变时调用某个函数,只需要用OnValueChanged,并在参数里填上想调用的函数名:
还可以排序,默认值是0, [PropertyOrder(1)]
2.EditorWindow
一个最简单的window:
Attribute在EditorWindow同样,重写OdinEditorWindow的GetTarget的方法可以显示任何信息
带菜单的OdinMenuEditorWindow
3.序列化
直接继承以下的类就可以在Inspector显示Dictionary,但是Odin官方建议,由于Odin的序列化实现是将Unity不序列化的所有数据转换为Unity可以理解的数据存储格式以及Object List,然后Unity将转换后的数据与其他支持序列化的数据一起序列化,这意味着用Odin序列化会比Unity的序列化慢
- SerializedBehaviour
- SerializedComponent
- SerializedMonoBehaviour
- SerializedNetworkBehaviour
- SerializedScriptableObject
- SerializedStateMachineBehaviour
- SerializedUnityObject