TOS 开发周记 22:把场景物件与多语言接起来

本文根据 2026-03-09 至 2026-03-15 的 Git 提交补记。

地图不再只有地表

上周后端已经能生成树、岩石和灌木,这周继续把 prop 的传输链路补齐。Tile 模型明确区分 terrainprop,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/

作者

amano

发布于

2026-03-15

更新于

2026-08-04

许可协议

评论