数据撤销与恢复的业务逻辑

415 阅读1分钟

储存数据

  • 储存数据的两种思路
    • 记录每步更新
    • 记录所有部件信息
    • 记录部分属性的信息(现有项目)
  • 如果需要输入的索引,比总长度要小,就进行截断并重新写入
  • 储存数据与上次储存的数据有多于两个属性的更改,就只保留一个
  • 储存数据的时机 每个部分的属性被更改时都是对应的时机 这样撤销能更准确

撤销功能

  • 处理新旧两份数据函数(旧数据,新数据)
    • 判断两组数据是什么数据被更改
      • 组件是否隐藏
      • 材质ID是否被更改
      • UV是否被更改
      • 材质颜色是否被更改(渐变色/纯色)
    • 储存对应的更改数据
  • 遍历更改的数据
    • 组件被隐藏了,显示即可
    • 材质ID被更改了,直接在缓存里面获取ID
    • UV被更改,直接还原UV
    • 材质颜色被更改,还原材质颜色