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