Files
obsidian-notes/1Project/宠物宇宙/地图编辑器/需要做的优化.md
2025-06-16 18:36:04 +08:00

1.6 KiB
Raw Blame History

流程组件
  • 构建流程组件 抽象成管线 找出运行时和编辑器共有的模块 把这些模块做成组件 运行时和编辑器分别实例不同的组件
数据结构更换
  • 更换为新的数据结构
    • 路线数据变更
      • 旧版本: 由文件夹下Roomline记录
      • 新版本: 用链表实现,在 关卡表-房间表 中指定首个房间,随后用房间指向下个房间组成链表实现路线
  • 接入Luban的表格
    • 旧的数据结构包括

      • 文件夹下
        • SO文件

          • 地板图片
          • 预览图
          • 地板数据,长宽高,
          • 地板承载的摆件怪物标志信息 缺点:
          • SO文件会实时改动到实际的物体的配置数据 但编辑器通常的模式是需要dirty不想保存的修改不能直接修改到原有的数据
          • 对于无法序列化的东西无法保存,比如字典,参考路线配置,需要存一份文本配置来做序列化的事情
        • Json文件

          • 一份额外信息key为mapIndexvalue为对应的额外信息
      • StreamingAssetPath中
        • RoomData.json 记录房间的怪物波次
        • MonsterWaveData.csv 怪物波次信息
    • 新的数据结构

      • 文件夹下
        • 所有地板以及地板摆放的物体.json
        • 一份关于地图的数据地图Id地图名字
        • 预览图
      • 配置表
        • 波次数据
          • 房间从1001开头用 多主键联合的方式
重新梳理关系和职责
SpreadMap和SpreadMapLevel
需要清晰的关系以及生命周期
MapBlock和RoomBase
二者相互引用且耦合
先抽象工作流,在开始构建管道