技能编辑器,UI界面,是基于UI ToolKit搭建的,入口在这里
![[Pasted image 20240307105337.png]]
在Project面板,点这里,是可以创建,对应的窗体
![[Pasted image 20240307112417.png]]
写进去之后,就会自动创建3个文件
![[Pasted image 20240307112500.png]]
这仨就是这样创建出来的,分别是逻辑脚本,uss布局,还有点击uxml,就会直接跳转,打开UIBuilder界面
![[Pasted image 20240307112518.png]]
是放到Editor目录下的,编译成游戏的时候,就会自动忽略这些
![[Pasted image 20240307120327.png]]
![[Pasted image 20240307112559.png]]
![[Pasted image 20240307112732.png]]
![[Pasted image 20240307112748.png]]
简单介绍
![[Pasted image 20240307113159.png]]
在构建界面,是可以直接拖曳,例如拖拽一个Button按钮,就可以拖到界面上
![[Pasted image 20240307113401.png]]
这是逻辑脚本入口
![[Pasted image 20240307113548.png]]
uxml是记录布局参数结构
![[Pasted image 20240307113624.png]]
对应界面右边的相关布局
![[Pasted image 20240307113741.png]]
IMGUIContainer定义:
![[Pasted image 20240307114718.png]]
在技能编辑器下,选择加载角色预制体,还有相关配置; 点击播放,就可以播放,当前编辑好的技能搭配
![[Pasted image 20240307114917.png]]
界面,是有分几个区域的,逻辑上,也会分成几个region,比较有条理
![[Pasted image 20240307115741.png]]
![[Pasted image 20240307115815.png]]
这里是编辑器总入口:
![[Pasted image 20240307115850.png]]
![[Pasted image 20240307115900.png]]
根节点:
![[Pasted image 20240307115937.png]]
加载对应的uxml布局配置,实例化,再加到根节点
![[Pasted image 20240307120003.png]]
来到顶部逻辑,是通过ui命名,获取到对应组件的
![[Pasted image 20240307120035.png]]
例如,这个是Button按钮
![[Pasted image 20240307120104.png]]
![[Pasted image 20240307120129.png]]
在初始化,顶部逻辑的时候,就是通过nameof命名的方法,找到这个按钮,然后注册一个,点击的逻辑LoadEditorSceneButtonClick
![[Pasted image 20240307120142.png]]
这个逻辑,就是加载,对应的,技能编辑场景; 而且会把切换前的,当前场景路径,赋值给旧场景路径
![[Pasted image 20240307120238.png]]
![[Pasted image 20240307120408.png]]
旧场景路径,用在这里的逻辑:
![[Pasted image 20240307120557.png]]
![[Pasted image 20240307120611.png]]
命名也是在这里写就好:
![[Pasted image 20240307120626.png]]
类似这种:
![[Pasted image 20240307120639.png]]
类型上,是这个组件:
![[Pasted image 20240307120708.png]]
可以在属性面板,对赋值类型,进行限制
![[Pasted image 20240307120859.png]]
这里有两个,都是演示预制体的,后者会勾选,这指的是,允许选择,场景内加载的
![[Pasted image 20240307120914.png]]
表现:
![[Pasted image 20240307121020.png]]
技能配置的选择:
![[Pasted image 20240307121126.png]]
只能选这个配置文件:
![[Pasted image 20240307121201.png]]
![[Pasted image 20240307121212.png]]
俩演示预制体,部件和预制体,分别也是有俩,一共4个:
![[Pasted image 20240307121657.png]]
在初始化的时候,判空和赋值
![[Pasted image 20240307121720.png]]
注册和监听修改
![[Pasted image 20240307121751.png]]
前者的逻辑:需要判断,是否在技能编辑场景; 判断是否相等,后面,就是销毁旧的,然后创建新的
![[Pasted image 20240307121815.png]]
实例化新的时候,前者会给后者,赋值
![[Pasted image 20240307121939.png]]
表现上,前者先选择
![[Pasted image 20240307122057.png]]
选完,就实例化出来了
![[Pasted image 20240307122127.png]]
后者再选的时候,默认就是这个,创建出来的,也就是上面的逻辑表现
![[Pasted image 20240307122147.png]]
后者的逻辑相对简单,只是赋值处理:
![[Pasted image 20240307122231.png]]