TOS 开发周记 22:把场景物件与多语言接起来
本文根据 2026-03-09 至 2026-03-15 的 Git 提交补记。
地图不再只有地表
上周后端已经能生成树、岩石和灌木,这周继续把 prop 的传输链路补齐。Tile 模型明确区分 terrain 与 prop,prop 自己带有状态字段;玩家进入区块时,后端会把该区块的物件通过地图消息发给客户端。客户端增加相应的事件处理,在详情地图上创建并显示这些物件。
这次改动让我把“地形是什么”和“地形上放着什么”分成了两层。前者由 TerrainSet 绘制,后者来自服务端数据,之后扩展场景内容时不必继续把所有东西塞进地表格子。
名称交给翻译表
另一条线是背包和怪物名称的本地化。后端生成掉落物和怪物时,不再保存直接展示的英文名,而是保存 ITEM_*、MONSTER_* 这类 i18n key;客户端收到数据后,再通过翻译表显示名称与描述。背包面板、目标信息和相关翻译条目一起完成了调整。
其余提交主要是 README 与初始化文档整理。整体上,这周提交量不大,但客户端与后端对“展示名称只是 key”的约定已经形成,后续新增内容可以沿用同一条数据链。
提交记录
| 日期 | 仓库 | 提交 | 原始说明 |
|---|---|---|---|
| 2026-03-11 | 后端 | 813e2bf |
feat: add props |
| 2026-03-11 | 后端 | bd7870d |
doc: update readme |
| 2026-03-11 | 客户端 | 41b767e |
feat: show props |
| 2026-03-11 | 客户端 | 60996a2 |
doc: update readme |
| 2026-03-12 | 后端 | 5ac83bc |
doc |
| 2026-03-12 | 后端 | 629d877 |
chore: store i18n keys for drops and monsters |
| 2026-03-12 | 客户端 | 7f77cf2 |
feat: localize inventory and monster names |
TOS 开发周记 22:把场景物件与多语言接起来
https://blog.util.online/2026/03/15/tos-weekly-history/2026-03-09-tos-weekly-22/