Unity编辑器扩展精粹_第四章
子窗体,也是继承自编辑器窗体EditorWindow类,和布局基类ILayout
声明父类样式等,也有一个队列容器mChildren存放子界面体; 添加布局相关,从父物体移除,更新函数等,逻辑空着;
添加、移除子物体,清空等逻辑,也是同理; 页面刷新,也是调用子物体的DrawGUI绘制函数即可;
自定义,水平布局,是继承自Layout类,设置一下样式,再调用unity编辑器的GUILayout.BeginHorizontal水平布局接口即可
水平布局的结束位置,也是调用编辑器自带即可
垂直布局,同理,只是把,调用编辑器的接口,换成GUILayout.BeginVertical和EndVertical 即可
滑动条布局,设置一个滑动条位置,其余同理;
整一个数据和特性绑定的工具类,其中setted这个布尔,是用来判断,Action事件的触发,mValue就是事件对应的,特性值
绑定的事件容器队列,其中包含的Action事件汇总mSetter,解绑就是这两个的,遍历,减少交互操作
获取器和对应的,绑定方法
这个列表,是设定的基础界面类
Box的界面类,设定文本,OnGUI界面刷新方法体,是设置样式,调用编辑器自带的GUILayout.Box实例化窗体
按钮的界面类,有设定按钮点击绑定的,函数事件触发
颜色类,设定了一个Color的特性
默认界面类,界面刷新过程,会不断触发OnGUIAction
枚举,创建一个泛型特性ValueProperty,作为枚举变量
自适应空格
图片按钮,调用资源加载函数,去加载Texture2D纹理贴图,还有注册mOnClick点击逻辑
文本Label类,显示文本内容
滚动条,IndexProperty是一个整型特性,作为索引
空格
文本输入框,创建一个字符特性
文本显示区域,创建一个字符特性
勾选类,创建一个布尔的特性
菜单选项,是用来添加,切换菜单选项的,Index整型特性,也是索引; OnGUI刷新界面类,调用UILayout.Toolbar工具栏接口,对索引进行赋值即可;
树状节点,继承自垂直布局,包含两种布局,分别是mFirstLine和mSpreadView
构造函数,传参设置文本内容,完成俩布局的初始添加逻辑,调用一个CustomView基础窗体类
各个往布局,添加节点逻辑
除了之前的额外工具类,还有一些,其他的额外工具类; 这是子窗体的,静态额外工具,对应的静态方法:设置绝对位置,设置宽高;
还有居中
显示界面的,额外工具方法,设置布局的宽高,最大/最小高度
文本扩展,居中等样式设置
颜色和字体,样式相关设置
颜色和字符串的,互换方法体
数据模型接口
界面控制类的,基类接口
全局事件key接口,用来配合事件系统,注册事件