看着odin最新版更新了一些Window Editor的功能(其实更了好一阵了,但是之前一直没想过用吧),又去试了下他的demo里面的东西,感觉蛮不错的,就想新的插件用下他的Editor来写,毕竟自己写Editor想功能足又好看确实花功夫。然后随便写一点小体会。(本文就写点体会,不具体讲细节了)
第一个OdinEditorWindow父类,继承的是unity的EditorWindow,作者在里面加了自己的几个方法和事件,具体的可以在他的官方手册那看。
http://sirenix.net/odininspector/documentation/sirenix/odininspector/editor/odineditorwindow
文档中例如OnBegin/EndGUI、OnClose这几个事件感觉还是比较有用,比如有些操作我并不想立即执行,而是等用户关闭窗口后再执行,这样有些操作对用户透明也使一些体验更好一些。然后还有一些DropDown的东西,可以实现点击按钮后出现下拉选择框之类的效果(就是Quickly inspect objects这个例子里的一些效果)。然后关于Window里的元素里的效果,除了正常的用Editor里的GUI之类的元素来绘制,还可以通过GetTargets()这个函数来在Window里添加其他的东西(如 scriptable object, component等),这些东西里的绘制我们可以在编写时使用OdinAttribute来便捷的完成,Attribute在Window里同样是生效的,官方的例子里大都也是这样的组合,这样在Window和Inspector里都能有不错的效果了。
第二个是OdinMen