Unity 编辑器扩展精粹_第七章.md 4.1 KB

这是选择的逻辑类,选择会开启问题(针对这个选择的); StartProcess就是调用,问题队列容器,启动的进程 和 完成的回调函数;

![[Pasted image 20240321133521.png]]

选择的结束接口; 选择的获取器,是调用进程管理器的对应接口;

![[Pasted image 20240321133803.png]]

这个ProcessSystem是进程系统管理器,其中包含对应的笔记Note,问题队列容器,选择字典容器; 有一个创建问题的函数接口,是创建一个新的进程系统;

![[Pasted image 20240321141846.png]]

开始问题、开始选择,对应的函数接口,实例化对应的实体,加到对应的队列容器; 布局的添加函数,还有开始进程函数;

![[Pasted image 20240321142300.png]]

通过命名,从选择字典容器,获取对应的选择体

![[Pasted image 20240321142500.png]]

![[Pasted image 20240321142513.png]]

开始使用,这套问题&选择框架; 基于笔记文件,开始问题,设置一下标题;

![[Pasted image 20240321142758.png]]

表现

![[Pasted image 20240321142849.png]]

![[Pasted image 20240321142912.png]]

这里设置了三个Menu,action回调,都是空的

![[Pasted image 20240321142932.png]]

跳转过去,也就是问题界面类的,一个功能按钮,这里是为空

![[Pasted image 20240321143015.png]]

表现,点击的话,会没有逻辑处理,因为上述action回调为空

![[Pasted image 20240321143026.png]]

之前解析逻辑,可以知道,选择的回调,是字符Action回调; 而且进程管理器,也是字符key,统一管理,选择合集;

![[Pasted image 20240321143321.png]]

![[Pasted image 20240321143419.png]]

第一个添加,Choice选择,”事项“之后,就结束第一个问题End,然后开启下一个选择,对应的就是”事项“,这就是将会触发的,第二个选择; 然后"现在是否可以执行",对应的,就是第三个选择,”现在是否可以执行“的开始;

![[Pasted image 20240321143242.png]]

这里的”拆解多步“选择目标,对应的是,拆分逻辑

![[Pasted image 20240321143721.png]]

跳转过去,可以看到,对应的是”拆解多步“选择

![[Pasted image 20240321143757.png]]

执行相关的,就跟Todo待办事项,数据逻辑,关联起来了

![[Pasted image 20240321143939.png]]

实现逻辑,就是移除笔记,然后作为,新的待办事项,加到对应的数据容器

![[Pasted image 20240321143947.png]]

拆解多步的相关逻辑,也是同理; 其中,保存的时候,有可能会要保存多个,所以在保存之后,通过RepeatSelfMenu重复打开窗体,就实现多次保存了;

![[Pasted image 20240321144126.png]]

![[Pasted image 20240321144305.png]]

表现

![[Pasted image 20240321144321.png]]

![[Pasted image 20240321144333.png]]

![[Pasted image 20240321144343.png]]

最后这个选项,如果选了”是“,就会发现,从笔记列表删除,然后新增到,待办事项列表容器了,和上述Convert2Codo逻辑一致

![[Pasted image 20240321144430.png]]

继续,如果选择拆解,表现

![[Pasted image 20240321144602.png]]

![[Pasted image 20240321144616.png]]

如果点了”保存“,通过RepeatSelfMenu重复打开窗体,逻辑一致

![[Pasted image 20240321144638.png]]

切换到,待办事项列表,也是加到对应的列表容器了

![[Pasted image 20240321144725.png]]

上述,解析完了,第一个总页签”笔记“的相关逻辑; 第二个总页签”清单“,包含4个子页签;

![[Pasted image 20240321145101.png]]

”清单“页签的实例化,和事件系统,点击触发打开

![[Pasted image 20240321145226.png]]

三个页签,加到View总页面,两种添加形式,都可以

![[Pasted image 20240321145440.png]]

”清单“页签,对应的逻辑类; 其中有包含4个子页签的实例化:mTodoListView、mFinishedTodoListView、HideListView、CategoryView,使用AddMenu接口,通过事件系统,注册事件,添加4个子页签点击触发;

![[Pasted image 20240321145548.png]]

本身的点击出发,事件注册,还有布局的添加

![[Pasted image 20240321145925.png]]