状态还原
小于 1 分钟
如果我们需要跳转任一步骤,而不是按照顺序执行,怎么做才能保证正常展示?
在多个引导步骤内需要写同份重复代码,怎么避免?
很简单,使用引导单元
引导单元
将不同的操作划分为引导单元,例如清空桌面,展示对话框。
内容
import * as cc from "cc";
const tab = {
清理桌面: {
load() {},
reset() {},
unload() {}
},
对话框: {
load() { ... },
},
};
const key: { [k in keyof typeof tab]: k;} = new Proxy(Object.create(null), {
get: (target, key) => key,
});
export default { tab, key };
注册
const guide_manage = new mk.guide_manage({
operate_tab: operate.tab,
});
使用
class guide_step_1 extends mk.guide_step_base {
operate_ss = [operate.key.清理桌面, operate.key.对话框];
load() {
const window = await this.operate_tab[operate.key.对话框];
window.xxx = "你好";
}
}
在引导步骤内的
operate_ss
填写operate.key.xxx
的单元 key 数组即可,按照顺序加载引导单元可以在引导步骤内通过
this.operate_tab[operate.key.xxx]
获取引导单元的 load 函数返回值