using Sirenix.OdinInspector;using Sirenix.OdinInspector.Editor;using System.Collections;using System.Collections.Generic;using System.Linq;using UnityEditor;using UnityEngine;publicclassMyMenuEditorWindow:OdinMenuEditorWindow{[MenuItem("My Game/My Menu Editor")]privatestaticvoidOpenWindow(){GetWindow<MyMenu...
带菜单的OdinMenuEditorWindow 3.序列化 直接继承以下的类就可以在Inspector显示Dictionary,但是Odin官方建议,由于Odin的序列化实现是将Unity不序列化的所有数据转换为Unity可以理解的数据存储格式以及Object List,然后Unity将转换后的数据与其他支持序列化的数据一起序列化,这意味着用Odin序列化会比Unity的序列化慢 Seriali...
一般情况下,我比较偏向继承OdinMenuEditorWindow去写自己所需的Window。 OpenWindow()方法 OpenWindow方法是必须要写的,顾名思义,怎么从Editor打开我们的窗口。 [MenuItem("Tools/数据配置窗口")]privatestaticvoidOpenWindow(){varwindow=GetWindow<ConfigWindow>();window.position=GUIHelper.GetEditorWindowRect().Ali...
publicclassTestWindow1:OdinEditorWindow{[MenuItem("OdinTestWindow/TestWindow1")]publicstaticvoidShowWindow(){varwindow=GetWindow<TestWindow1>();window.Show();}} 点击OdinTestWindow/TestWindow1打开空白窗口 窗口可以使用Group进行布局,例如下面这个窗口 [HideLabel][VerticalGroup("v1")]//垂直分组 v1[Bo...
要创建专属Editor Window,可以继承OdinEditorWindow和OdinMenuEditorWindow。前者用于生成单一窗口,后者支持菜单选项和多窗口。例如,通过Override GetTargets()方法编写窗口逻辑,以及在BuildMenuTree中实例化OdinMenuTree来定制菜单和控件。ScriptableObject是数据存储的常用方式,通过AddAssetAtPath()方法添加到窗口...
With Odin making your own Editor Windows is a breeze! Inheriting from the OdinEditorWindow class gives you access to the powerful Odin drawing system in its entirety! By utilising this, you can in minutes make beautiful and, more importantly, functional tools that have been specially designed ...
在Unity开发中,Odin为开发者提供了丰富的工具来简化Inspector窗口的自定义。Odin提供了两个主要的窗口基类:OdinEditorWindow和OdinMenuEditorWindow。当开发者需要创建一个简单的空白窗口时,可以选择使用OdinEditorWindow。例如,创建OdinTestWindow并添加子类OdinEditorWindow,然后通过调用Open方法,即可打开该...
UnitOverviewWindow UnityClassicSerializationBackend UnityEditorEventUtility UnityObjectPropertyResolver<T> UnityPolymorphicSerializationBackend UnityPropertyAttributeDrawer<TDrawer, TAttribute, TAttributeConstraint> UnityPropertyDrawer<TDrawer, TDrawnType> UnityPropertyEmitter.Handle UnityPropertyEmitter Unity...
window.ShowUtility(); } /// /// 选中的 ScriptableObject(等待创建) /// private ScriptableObject previewObject; /// /// 创建 ScriptableObject 时文件存储的目标文件夹 /// private string targetFolder; private Vector2 scroll; private Type SelectedType ...
Odin作为广受认可的编辑器扩展插件,显著提高了开发效率,提升了界面美观度和产品性。RPGEditor界面拥有如百分比滑动条、Icon图片配置、折叠图和模糊搜索等独特效果,通过Odin实现。分析RPGEditor实现,可快速熟悉Odin基本使用,搭建编辑界面。Odin扩展了Unity的EditorWindow类,提供OdinMenuEditorWindow和OdinEditor...