Skip to content

Commit 611b53c

Browse files
Update 演出调用说明.md
1 parent 09459d5 commit 611b53c

1 file changed

Lines changed: 26 additions & 9 deletions

File tree

dev-docs/演出调用说明.md

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,37 @@
22

33
第一步,语句调用器 `runScript.ts` 根据语句类型执行一个语句,语句会返回一个IPerform对象,并将当前语句的演出写入到场景状态。
44

5-
第二步,语句调用器 `runScript.ts` 会设定一个自动的计时器,用于结束并卸载对象。
6-
75
```typescript
6+
/**
7+
* 描述演出的接口,主要用于控制演出,而不是执行(在演出开始时被调用演出的执行器返回)
8+
* @interface IPerform
9+
*/
810
export interface IPerform {
9-
performName: string,// 演出名称,用于在后面手动清除演出,如果没有标识,则代表不是保持演出,给予一个随机字符串
10-
duration: number, // 持续时间,单位为ms,持续时间到后强制设置该演出为“已经结束”状态
11-
isOver: boolean, //演出是否已经结束
12-
isHoldOn: boolean, //演出是不是一个保持类型的演出
13-
stopFunction: Function, // 卸载演出的函数,这个函数不一定要真的卸载演出,只是在演出结束时会默认调用。
14-
blockingNext: Function // 演出是否阻塞游戏流程继续(一个函数,返回 boolean类型的结果,判断要不要阻塞)
15-
blockingAuto: Function //演出是否阻塞自动模式(一个函数,返回 boolean类型的结果,判断要不要阻塞)
11+
// 演出名称,用于在后面手动清除演出,如果没有标识,则代表不是保持演出,给予一个随机字符串
12+
performName: string;
13+
// 持续时间,单位为ms,持续时间到后自动回收演出
14+
duration: number;
15+
// 演出是不是一个保持类型的演出
16+
isHoldOn: boolean;
17+
// 卸载演出的函数
18+
stopFunction: () => void;
19+
// 演出是否阻塞游戏流程继续(一个函数,返回 boolean类型的结果,判断要不要阻塞)
20+
blockingNext: () => boolean;
21+
// 演出是否阻塞自动模式(一个函数,返回 boolean类型的结果,判断要不要阻塞)
22+
blockingAuto: () => boolean;
23+
// 自动回收使用的 Timeout,一般在调用演出的函数里不设置,演出管理器获取到 IPerofrm 后会根据 duration 自动设置
24+
stopTimeout: undefined | ReturnType<typeof setTimeout>;
25+
// 演出结束后转到下一句
26+
goNextWhenOver?: boolean;
27+
// 对于延迟触发的演出,使用 Promise
28+
arrangePerformPromise?: Promise<IPerform>;
29+
// 跳过由 nextSentence 函数引发的演出回收
30+
skipNextCollect?: boolean;
1631
}
1732
```
1833

34+
第二步,语句调用器 `runScript.ts` 会设定一个自动的计时器,用于结束并卸载对象。
35+
1936
第三步,在演出时间抵达时,卸载演出(语句调用器会在指定时间自动卸载),直到演出列表里没有演出(保持演出则不会卸载)
2037

2138
**注意:`isOver``true` 时,不会阻塞auto和next,这时候不检查 `blockingNext``blockingAuto`**

0 commit comments

Comments
 (0)