/**
 * @description 新手引导
 * @author 邹勇
 */
export class GuideData {

    /** 新手引导数据 */
    public data: Map<number, GuideVO[]>;

    /** 当前引导id */
    public crtID: number = null;

    public init(config) {
        this.data = new Map<number, GuideVO[]>();
        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;
}