跳至主要內容

状态还原

muzzik小于 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 函数返回值

📣 觉得很赞?分享给你的朋友吧!