联网与插件
地图插件
建立单一位置状态、八方向图结构和可审计的移动生命周期。
联网与插件
地图是图结构,不是第二套场景状态
地图保存格子、方向连接和当前位置。渲染布局或 Canvas 负责画出来,Worker 脚本负责判断移动和结算进入/离开效果。
# 数据契约
| 数据 | 责任 |
|---|---|
| 地图 ID | 标识一张地图,通常与当前位置属性建立稳定绑定 |
| 当前位置属性 | 唯一权威位置,必须进入存档 |
| 起始格子 | 首次进入或重置时的位置 |
| 格子 ID | 连接和脚本使用的稳定身份 |
| 八方向连接 | 左上、上、右上、左、右、左下、下、右下 |
| 展示范围 | 决定读取当前位置周围多大区域 |
| 格子钩子 | 显示需求、离开后、进入后 |
不要再用动态字符串或页面变量保存另一份当前位置。
# 纯 AI 建图流程
- 列出地点 ID、名称、说明和起点。
- 用方向表描述每条连接,并决定是否双向。
- 定义不可移动原因、进入/离开副作用和重置行为。
- 让地图工具创建结构,再让主 Agent 编写格子脚本。
- 选择渲染布局、插件控件或 Canvas 作为显示层。
- 在预览中逐条走通连接并检查刷新恢复。
# 传统编辑
打开传统模式文档后,可使用图编辑器快速创建和连线,使用表单逐格维护名称、介绍、八方向邻接和脚本。图形位置只影响编辑器可视化,不等于运行时坐标。
显示开关可以控制地图名称、介绍、区域、当前位置名称和说明;它们不改变格子是否存在。
# 移动生命周期
flowchart LR
A[读取当前位置] --> B[解析方向和目标格]
B --> C{连接存在且 canMove 通过?}
C -- 否 --> D[返回失败,不改位置]
C -- 是 --> E[运行离开钩子]
E --> F[提交当前位置]
F --> G[运行进入钩子]
G --> H[刷新页面快照]
地图脚本应使用公开 API:getMapGrid、canMoveMapGrid、moveMapDirection、jumpMapGrid 和 resetMap。完整参数见 地图格子脚本。
# Canvas 与规则边界
Canvas 可绘制节点、路线、镜头和移动动画,但点击必须通过 binding 触发 Worker 移动。绘制命中不能直接改当前位置;动画失败也不能回滚已经成功的移动,除非规则层明确执行补偿。
# 验收矩阵
测试起点、八方向、单向连接、断路、隐藏格、移动不足、进入/离开顺序、跳转、重置、刷新恢复、边缘展示范围和连续快速移动。
下一步:地图格子脚本。