这个设计上,是一个待办事项软件,数据体,是弄一个Todo类,存储待办事项文本,还有一个是否完成的特性; 再弄一个Todos列表容器,去存储待办事项相关;

这个容器的调用,是异常情况下的,处理,也就是没拿到数据的,最初初始化状态

最开始时候,数据模型为空的时候,才会调用这个

一般运行时,使用的数据模型结构,是这个

这是运行时,使用的数据容器,获取器

Unity自带了一个测试运行器,入口

代码上,加Test标签

就会自动检索出来

运行,功能正常

数据模型,有一个升级更新器,使用的是Json解析序列化,在调用之前,是需要导入对应的,dll插件

更新器的Excute函数,是调用ConvertOld2New,遍历 待办事项 列表,将旧的数据模型,替换到新的数据模型

旧的

新的,包含guid实例化的Id序号,开始/结束 日期时间,完成状态,任务优先级,包含子任务,是否隐藏等信息

旧的任务列表

新的任务列表

数据模型,完成升级更新之后,需要一个,数据模型加载器; 这里是使用,unity的数据本地持久化,EditorPrefs.GetString和SetString进行获取和设置,对数据模型,进行加载和保存

加载,也是通过Json接口,完成解序列化即可,如果没拿到数据,就需要更新一下,数据信息

保存数据

新的Todo代办类,包含静态接口,根据花费时间数值,修改显示样式

获取,花费的时间,是结束时间和开始时间的差值

还有两个枚举,分别是,代办事项当前状态、优先级

除了待办事项,还有其他几种数据模型; 笔记的数据模型,是由Id和Content文本内容构成,在构造函数里,通过NewGuid方法,自动赋予一个独一无二的Id索引;

分类管理

产品和特性

针对数据模型,有一个统一的管理类; 创建和添加待办事项,相关函数; 还有4个获取器,分别获取,上述的几种数据模型容器;

移除笔记容器,整体的保存功能

之前提及过的,数据模型获取器

从待办事项字典容器,根据id这个key,获取到对应的,待办事项; 创建一个新的笔记文件接口; 排序分类列表;

移除对应的分类管理、创建分类管理,有调用之前的颜色工具类ColorUtil的,颜色转文本方法ToText; 移除,特定待办事项; 通过Index索引,拿到特定的分类;

Json序列化数据模型的打印; 产品的创建和删除逻辑;