From 1deb860359f337db5638eadfa89915679329a138 Mon Sep 17 00:00:00 2001 From: unanmed <1319491857@qq.com> Date: Sat, 17 Oct 2026 21:17:12 +0800 Subject: [PATCH] =?UTF-8?q?docs(10-09):=20=E5=BC=95=E5=AF=BC=E5=BC=8F?= =?UTF-8?q?=E9=87=8D=E5=86=99=20replay-commands=E3=80=81data-plugins?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - replay-commands 以「重放要先记全」引导核心原则,保留主动/被动与装饰器,不给示例 - data-plugins 以「一组功能打包按时初始化」引导,保留时机次序与占位示例(N-4) --- docs/intermediate/data-plugins.md | 4 +++- docs/intermediate/replay-commands.md | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/intermediate/data-plugins.md b/docs/intermediate/data-plugins.md index 7929475..48fd2f6 100644 --- a/docs/intermediate/data-plugins.md +++ b/docs/intermediate/data-plugins.md @@ -1,6 +1,6 @@ # 数据插件 -插件是数据端的**强拓展系统**:它把一组相关的对象与逻辑打包在一起,挂到数据端主对象 `state` 上,并在加载流程的固定时机初始化。本篇只讲基础用法;插件系统更底层的工作原理见高级教程。 +当你有一组相关功能想打包在一起、挂到数据端主对象 `state` 上,并让它们按固定的时机自动初始化,就可以把它做成一个**数据插件**。插件是数据端的**强拓展系统**:它把一组相关的对象与逻辑收拢到一处,随数据端启动一起加装。本篇只讲基础用法;插件系统更底层的工作原理见高级教程。 ## 插件定义 IDataPluginDefine @@ -14,6 +14,8 @@ | `initialize(state, dependencies)` | 异步初始化 | | `afterLoad(state, dependencies)` | 加载完成后初始化 | +三个时机方法都会收到数据端主对象 `state`,你对数据端的操作都从这里展开(`state` 的获取方式与含义见[数据端总览](./data-state-overview.md))。 + ## 时机次序 数据端启动时,每个插件会依次经历三个阶段: diff --git a/docs/intermediate/replay-commands.md b/docs/intermediate/replay-commands.md index 9a4a820..b6312d8 100644 --- a/docs/intermediate/replay-commands.md +++ b/docs/intermediate/replay-commands.md @@ -1,6 +1,6 @@ # 录像指令 -录像系统(`state.replaySystem`)把玩家在游戏中的操作记录成一条条**录像步**,之后可以重新播放。它的主要用途是**录像验证**——只运行数据端、重放录像,就能确认同样的操作是否得到同样的结果(原理见[数据端与渲染端](./data-vs-render.md))。 +录像验证要能重放出和原来一模一样的结果,前提是:把该记下来的操作都记下来。录像系统(`state.replaySystem`)做的正是这件事——把玩家在游戏中的操作记录成一条条**录像步**,之后可以重新播放。它的主要用途是**录像验证**:只运行数据端、重放录像,就能确认同样的操作是否得到同样的结果(原理见[数据端与渲染端](./data-vs-render.md))。 ## 核心原则 @@ -20,7 +20,7 @@ 录像步分两类,由 `ReplayCommandType` 表示: - **主动录像(`Active`)**:指令自己就会执行对应的操作。引擎内置的移动、瞬移、使用道具(见[勇士道具](./hero-items.md))、装备(见[勇士装备](./hero-equipment.md))都是主动录像; -- **被动录像(`Passive`)**:指令不自己执行,而是让外部通过录像沙箱的 `getPassive()` 取到这一步的参数,再由外部决定怎么处理。 +- **被动录像(`Passive`)**:指令不自己执行,而是让外部通过录像沙盒的 `getPassive()` 取到这一步的参数,再由外部决定怎么处理。 ## 新增自定义录像指令