GuideData.ts 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import { Data } from "../../../mk/data/Data";
  2. import GuideVO from "../../module/guide/GuideVO";
  3. /**
  4. * @description 新手引导
  5. * @author 邹勇
  6. */
  7. export class GuideData {
  8. /** 新手引导数据 */
  9. public data: Map<number, GuideVO[]>;
  10. /** 当前引导id */
  11. public crtID: number = null;
  12. public async init() {
  13. console.log("=========1");
  14. let config = gData.gameData.configs.Guide
  15. if (!config || (config && config.length <= 0)) {
  16. let result = await mk.loader.load("data/guide_data", cc.JsonAsset);
  17. if (result && result.json) {
  18. config = result.json;
  19. }
  20. cc.log('无远程引导数据,使用本地测试数据');
  21. console.log("=========2");
  22. }
  23. this.data = new Map<number, GuideVO[]>();
  24. let arr = [];
  25. let id = 1;
  26. for (let i = 0; i < config.length; i++) {
  27. let guide = {} as GuideVO;
  28. let o = config[i];
  29. let a = o.id.split("_");
  30. guide.id = parseInt(a[0]);
  31. guide.step = parseInt(a[1]);
  32. guide.trigger = o.trigger;
  33. guide.tr_num = o.trNum;
  34. guide.btnEnable = o.btnEnable;
  35. guide.tr_form = o.trForm;
  36. guide.dialog = o.dialog;
  37. guide.dialog_pos = o.dialogPos;
  38. guide.dialog_pos1 = o.dialogPos1;
  39. guide.dialog_alignment = o.dialogAlignment;
  40. guide.display_rect = o.displayRect;
  41. guide.click_rect = o.clickRect;
  42. guide.finger = o.finger;
  43. guide.lag_next = parseFloat(o.lagNext);
  44. guide.display_type = parseInt(o.trNum);
  45. guide.continue = o.continue;
  46. guide.isShowSkip = o.isShowSkip;
  47. guide.displayRectOff = parseFloat(o.displayRectOff);
  48. if (id != guide.id) {
  49. this.data.set(id, arr);
  50. arr = [];
  51. id = guide.id;
  52. }
  53. arr.push(guide);
  54. }
  55. this.data.set(id, arr);
  56. }
  57. public getGuidesByID(id): GuideVO[] {
  58. return this.data.get(id);
  59. }
  60. }