/** * @description 新手引导 * @author 邹勇 */ export class GuideData { /** 新手引导数据 */ public data: Map; /** 当前引导id */ public crtID: number = null; public init(config) { this.data = new Map(); let arr = []; let id = 1; for (let i = 0; i < config.length; i++) { let guide = {} as GuideVO; let o = config[i]; let a = o.id.split("_"); guide.id = parseInt(a[0]); guide.step = parseInt(a[1]); guide.trigger = o.trigger; guide.tr_num = o.tr_num; guide.tr_form = o.tr_form; guide.dialog = o.dialog; guide.display_rect = o.display_rect; guide.click_rect = o.click_rect; guide.finger = o.finger; guide.lag_next = o.lag_next; if (id != guide.id) { this.data.set(id, arr); arr = []; id = guide.id; } arr.push(guide); } this.data.set(id, arr); } public getGuidesByID(id): GuideVO[] { return this.data.get(id); } } export class GuideVO { /** 大步骤 */ id: number; /** 大步骤中的小步 */ step: number; /** 触发方式 1固定 2等级 3任务 4关卡 5功能开启 */ trigger: number; /** 触发条件的数据 如当trigger是关卡时关卡时,为触发关卡 */ tr_num: number; /** 1头像 2形象 */ tr_form: number; /** 对话内容 */ dialog: string; /** 透明点击区域(与click_node不共存) */ display_rect: string; /** 点击组件名字(必须在代码中预先设置) */ click_rect: string; /** 手指位置 */ finger: string; /** 下个时间 */ lag_next: 0; }