【第一章编辑器开发基础第二节编辑器布局_2GUI中滚动列表(2/4)】
实现一个自定义窗口并且显示滚动列表,需要继承EditorWindow类,我会在代码里注释
using UnityEngine;
using UnityEditor;public class ExampleEditorWindow : EditorWindow
{// 添加菜单项,路径为"Example/Open Example Editor Window",这里的菜单项是unity顶部菜单项,具体效果看下面的图,当我我们点击出现的菜单项,他就会执行我们声明的方法,这里会执行Open这个方法[MenuItem("Example/Open Example Editor Window")]public static void Open(){// 获取或创建窗口实例并显示GetWindow<ExampleEditorWindow>().Show();}// 滚动视图的位置,用于记录和恢复滚动状态private Vector2 scrollPosition;/// <summary>/// unity编辑器自带方法,会自动调用/// </summary>private void OnGUI(){ScrollViewExaple(); // 滚动视图示例}// 滚动视图示例方法private void ScrollViewExaple(){// 开始滚动视图scrollPosition = GUILayout.BeginScrollView(scrollPosition);// 创建50个按钮作为滚动内容for (int i = 0; i < 50; i++){GUILayout.Button("btn" + i);}// 结束滚动视图GUILayout.EndScrollView();}}
运行效果图如下
这个Unity 编辑器窗口 (EditorWindow) 的生命周期函数调用顺序