技能编辑器,UI界面,是基于UI ToolKit搭建的,入口在这里

在Project面板,点这里,是可以创建,对应的窗体

写进去之后,就会自动创建3个文件

这仨就是这样创建出来的,分别是逻辑脚本,uss布局,还有点击uxml,就会直接跳转,打开UIBuilder界面

是放到Editor目录下的,编译成游戏的时候,就会自动忽略这些

简单介绍

在构建界面,是可以直接拖曳,例如拖拽一个Button按钮,就可以拖到界面上

这是逻辑脚本入口

uxml是记录布局参数结构

对应界面右边的相关布局

IMGUIContainer定义:

在技能编辑器下,选择加载角色预制体,还有相关配置; 点击播放,就可以播放,当前编辑好的技能搭配

界面,是有分几个区域的,逻辑上,也会分成几个region,比较有条理

这里是编辑器总入口:

根节点:

加载对应的uxml布局配置,实例化,再加到根节点

来到顶部逻辑,是通过ui命名,获取到对应组件的

例如,这个是Button按钮

在初始化,顶部逻辑的时候,就是通过nameof命名的方法,找到这个按钮,然后注册一个,点击的逻辑LoadEditorSceneButtonClick

这个逻辑,就是加载,对应的,技能编辑场景; 而且会把切换前的,当前场景路径,赋值给旧场景路径

旧场景路径,用在这里的逻辑:

命名也是在这里写就好:

类似这种:

类型上,是这个组件:

可以在属性面板,对赋值类型,进行限制

这里有两个,都是演示预制体的,后者会勾选,这指的是,允许选择,场景内加载的

表现:

技能配置的选择:

只能选这个配置文件:

俩演示预制体,部件和预制体,分别也是有俩,一共4个:

在初始化的时候,判空和赋值

注册和监听修改

前者的逻辑:需要判断,是否在技能编辑场景; 判断是否相等,后面,就是销毁旧的,然后创建新的

实例化新的时候,前者会给后者,赋值

表现上,前者先选择

选完,就实例化出来了

后者再选的时候,默认就是这个,创建出来的,也就是上面的逻辑表现

后者的逻辑相对简单,只是赋值处理: