InitData.ts 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. import { _decorator, Component, Node } from 'cc';
  2. import I18n from '../i18n/I18n';
  3. import GlobalData from './GlobalData';
  4. import { Loading } from './Loading';
  5. import { LocalStorageMgr } from './LocalStorageMgr';
  6. const { ccclass, property } = _decorator;
  7. @ccclass('InitData')
  8. export class InitData extends Component {
  9. @property(Loading)
  10. loading: Loading = null;
  11. @property(Node)
  12. bg: Node = null;
  13. /** 单例模式 */
  14. private static _ins: InitData;
  15. constructor() {
  16. super();
  17. InitData._ins = this;
  18. }
  19. public static get ins(): InitData {
  20. if (!InitData._ins) {
  21. InitData._ins = new InitData();
  22. }
  23. return InitData._ins;
  24. }
  25. async onLoad() {
  26. mtec.cc.adaptBackgroundNode(this.bg);
  27. // let lang =
  28. // I18n.init(lang);
  29. }
  30. initUserData() {
  31. let isnew = LocalStorageMgr.getItem(LocalStorageMgr.isCommer_key)//
  32. console.log('是否是新手:', isnew);
  33. // 初始化用户
  34. if (isnew) {
  35. LocalStorageMgr.clear();
  36. console.log("初始化用户");
  37. }
  38. // 获取道具个数
  39. GlobalData.refrashPropNum = this.getOrSetLocalData(LocalStorageMgr.refrashPropNum_key, GlobalData.refrashPropNum);
  40. GlobalData.hummerPropNum = this.getOrSetLocalData(LocalStorageMgr.hummerPropNum_key, GlobalData.hummerPropNum)
  41. // 分数记录
  42. GlobalData.curScore = this.getOrSetLocalData(LocalStorageMgr.curScore_key, GlobalData.curScore);
  43. GlobalData.historyHighScore = this.getOrSetLocalData(LocalStorageMgr.historyHighScore_key, GlobalData.historyHighScore);
  44. GlobalData.todayHighScore = this.getOrSetLocalData(LocalStorageMgr.todayHighScore_key, GlobalData.todayHighScore);
  45. // console.log(GlobalData.curScore, GlobalData.historyHighScore, GlobalData.todayHighScore);
  46. // 是否新手
  47. GlobalData.isCommer = this.getOrSetLocalData(LocalStorageMgr.isCommer_key, GlobalData.isCommer);
  48. console.log("是否是新手", GlobalData.isCommer);
  49. // 引导记录
  50. GlobalData.guideRecord = this.getOrSetLocalData(LocalStorageMgr.guideRecord_key, GlobalData.guideRecord);
  51. // 上次游戏保存的地图
  52. GlobalData.lastGameBoard = this.getOrSetLocalData(LocalStorageMgr.lastGameBoardData_key, GlobalData.lastGameBoard);
  53. // 获取上次登录时间
  54. GlobalData.lastLoginDate = this.getOrSetLocalData(LocalStorageMgr.lastLoginDate_key, GlobalData.lastLoginDate);
  55. this.loading.enterGame('main')
  56. }
  57. public getOrSetLocalData(storage_key: string, storage: any) {
  58. let ishave = LocalStorageMgr.hasItem(storage_key);
  59. if (!ishave) {
  60. LocalStorageMgr.setItem(storage_key, storage);
  61. }
  62. return LocalStorageMgr.getItem<typeof storage>(storage_key);
  63. }
  64. start() {
  65. }
  66. update(deltaTime: number) {
  67. }
  68. }