mirror of
https://github.com/motajs/template.git
synced 2026-10-18 12:40:18 +08:00
docs(10-09): 引导式重写 replay-commands、data-plugins
- replay-commands 以「重放要先记全」引导核心原则,保留主动/被动与装饰器,不给示例 - data-plugins 以「一组功能打包按时初始化」引导,保留时机次序与占位示例(N-4)
This commit is contained in:
parent
d882668ba0
commit
1deb860359
@ -1,6 +1,6 @@
|
||||
# 数据插件
|
||||
|
||||
插件是数据端的**强拓展系统**:它把一组相关的对象与逻辑打包在一起,挂到数据端主对象 `state` 上,并在加载流程的固定时机初始化。本篇只讲基础用法;插件系统更底层的工作原理见高级教程。
|
||||
当你有一组相关功能想打包在一起、挂到数据端主对象 `state` 上,并让它们按固定的时机自动初始化,就可以把它做成一个**数据插件**。插件是数据端的**强拓展系统**:它把一组相关的对象与逻辑收拢到一处,随数据端启动一起加装。本篇只讲基础用法;插件系统更底层的工作原理见高级教程。
|
||||
|
||||
## 插件定义 IDataPluginDefine
|
||||
|
||||
@ -14,6 +14,8 @@
|
||||
| `initialize(state, dependencies)` | 异步初始化 |
|
||||
| `afterLoad(state, dependencies)` | 加载完成后初始化 |
|
||||
|
||||
三个时机方法都会收到数据端主对象 `state`,你对数据端的操作都从这里展开(`state` 的获取方式与含义见[数据端总览](./data-state-overview.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()` 取到这一步的参数,再由外部决定怎么处理。
|
||||
|
||||
## 新增自定义录像指令
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user