TOS 开发周记 23:让地图资源形成闭环

本文根据 2026-03-16 至 2026-03-22 的 Git 提交补记。

从数据库定义到画面图标

这周围绕怪物、掉落物和场景物件做了一轮集中补全。后端给掉落物生成器增加图标映射,并陆续加入金币、更多怪物及其掉落配置;客户端则让背包和详情地图按后端返回的掉落物信息加载图标。怪物与物品素材也统一整理为 SVG,并补充了一批新的动物素材。

这里最重要的不是素材数量,而是链路开始连起来:后端种子数据保存名称 key 和图标标识,客户端用同一标识寻找资源,再用翻译表决定展示文字。详情地图、背包和信息弹窗因此不必各自维护一套名称与图片映射。

给资源数据加一道检查

资源变多以后,手工确认很快就不可靠了。后端把分散的 monsters、props 命令逐步合并进 assets CLI,并加入怪物、掉落物、地形类型、素材文件存在性以及 i18n key 的检查;同时保留列表与生成入口,方便直接查看数据库里的内容。几次新增、合并、再清理的提交,记录了这个 CLI 从分散命令收拢为统一工具的过程。

地形与背包继续收尾

客户端移除了详情地图的地形兜底分支,遇到空格时改为明确断言;随后增加程序化生成 4×4 草地区域的测试场景,并修正详情模式的 TerrainSet 绘制。背包这边调整了图标尺寸、tooltip 和版面,也把 prop 与掉落物渲染接入现有界面。

这周改动很多,但主题其实很集中:让一份资源数据能被生成、检查、传输并最终显示,而不是只在某一端“看起来已经有了”。

提交记录

日期 仓库 提交 原始说明
2026-03-16 后端 a2f783d feat: add icon mapping to drop generator
2026-03-16 后端 e2c12bb fix: monster density
2026-03-16 客户端 b3b97fe feat: render bag items with DropItem icons
2026-03-16 客户端 f89e7e9 fix: i18n in tile info modal
2026-03-17 客户端 2d1dd95 fix: i18n in bag
2026-03-18 后端 21bf1c5 feat: unify assets CLI
2026-03-18 后端 610d712 feat: list monsters in cli
2026-03-18 后端 7a80dc4 feat: add props CLI and asset existence checks
2026-03-18 后端 9607166 feat: add verify CLI, dirt terrain, and terrain-types
2026-03-18 客户端 807e379 feat: render props from asset files
2026-03-18 客户端 e26544d refactor: remove terrain fallback, assert on empty cells
2026-03-19 后端 1153d63 tidy: clean assets cli
2026-03-19 后端 ddc6234 feat: cli for drop items
2026-03-19 后端 e7399e9 feat: add gold
2026-03-19 客户端 7b474bf feat: render drops in detail mode
2026-03-19 客户端 905641e doc: update image
2026-03-20 后端 0ecefb1 feat: more monsters
2026-03-20 客户端 817a13c art
2026-03-20 客户端 f4f1c4b fix: bag icon size
2026-03-21 后端 7ffdb7c feat: update cli
2026-03-21 客户端 c9fb8c5 feat: updatet bag
2026-03-22 客户端 5c5be07 feat: add grass_4x4 programmtically
2026-03-22 客户端 a1e7fd1 fix: terrain in detail mode
作者

amano

发布于

2026-03-22

更新于

2026-08-04

许可协议

评论