ReorderableListGUI.Title("names"); ReorderableListGUI.ListField(mNamesProp); serializedObject.ApplyModifiedProperties(); } } 最终效果: 只需把序列化字段名称传给Rotorz.ReorderableList就可以在GUI显示了。 下载地址: https://bitbucket.org/rotorz/reorderable-list-editor-field-for-unity...
EditorGUI 类 专门用于编辑器界面的GUI类,提供了Unity内置类或结构体的控件函数,比如Color类、Vector3类等定义的控件。● 为编辑器在Inspector和EditorWindow中扩展提供了很大的方便。3. 功能 3.1 折叠菜单: Foldout ● Foldout :创建一个左侧带有折叠箭头的标签。bool 用户选择的折叠状态。如果为 true,则应...
显示提示信息 Rect emptyRect = EditorGUILayout.GetControlRect(false, DEFAULT_EMPTY_HEIGHT); EditorGUI.HelpBox(emptyRect, "List is Empty", MessageType.Info); DragDrop(); } else { if (_height != null) { scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition,boxStyle,GUILayout.Height(...
具体的重写方式和运行时的GUI一样,你甚至可以使用任何扩展自原生GUI系统的插件(例如iGUI和GUIX)来简化你的插件开发流程(仅经过初步测试,更深层次的可用性尚待验证)。同时UnityEditor名称空间下的EditorGUILayout在原生GUI之上提供了一些更方便的接口和控件,让你可以轻松的使用一些编辑器特有的UI控件。 除了OnGUI外,你...
文章开始先说下我为什么要自制一个 Popup,因为EditorGUILayout.Popup实在是太难用了,一旦要显示的string数组长到一定程度,用起来就会非常难受。如下图: 痛苦的长条 相当长用起来还相当痛苦,你必须要点击上下箭头一个一个移动里边的元素,不能滚动也不能检索。甚至你点击popup松开的一瞬间在这个弹框上,就会直接选择,...
reorderableList.DoLayoutList(); serializedObject.ApplyModifiedProperties(); } void DrawElement(Rect rect, int index, bool isActive, bool isFocused) { SerializedProperty element = m_list.GetArrayElementAtIndex(index); EditorGUI.PropertyField(rect, element); ...
也就是说,我们每帧去获取这四个数据,把四个数据放在同一个结构里,然后这个结构放在一个list里。 我因为只是做个demo,所以数据就模拟生成了。 可以看到。为了显示的时候直观一点,我把随机区域稍微区分了一下,这样看起来好看点,像第一个图那样。 2.数据可视化 ...
inGUI.skin){if(style.name.ToLower().Contains(searchStr.ToLower())){DrawStyle(style);}}GUILayout.EndScrollView();}voidDrawStyle(GUIStylestyle){GUILayout.BeginHorizontal("box");GUILayout.Button(style.name,style.name);GUILayout.FlexibleSpace();EditorGUILayout.SelectableLabel(style.name);if(GUILayout...
EditorGUI的自动布局版本。 静态函数 BeginBuildTargetSelectionGrouping开始构建目标组并返回所选 BuildTargetGroup。 BeginFadeGroup开始一个可隐藏/显示的组,并且过渡将生成动画。 BeginFoldoutHeaderGroup创建一个左侧带有折叠箭头的标签。 BeginHorizontal开始一个水平组并找回其矩形。
OnGUI是Unity上一个时代的UI系统,而现在运行时的UI系统已经被UGUI取代,但是Editor的UI还是在用老的这一套GUI系统。比如unity编辑器里的所有窗口,布局,按钮,拖动条、滚动等等都是用GUI来写的。GUI提供了一套Event事件系统,虽然不能模拟它的事件(其实是可以发的EditorWindow.SendEvent),但是确可以进行拦截。