var t = require; var e = module; var i = exports; Object.defineProperty(i, "__esModule", { value: !0 }), (i.ZHANGAIWU_OPERTYPE = void 0); const s = t("App"); (i.default = class { constructor() { (this.saveKey = ""), (this.gameKey = "ZhaXinLaoTie"), (this.list = []), (this.map = {}), (this.isNeedUpdateDayData = !1), (this.updateDayDataCaches = {}), (this._saveInfo = null); } init() { this.add(this, "SaveInfo", !1, !0), this.load("SaveInfo"); } add(t, e, i = !0, s = !0) { var o = i ? this.saveKey + e : e, s = { key: e, obj: t, saveKey: o, isAuto: s }; if (this.map[e]) { var a = this.list.length; for (let t = 0; t < a; t++) if (this.list[t].saveKey === o) { this.list.splice(t, 1); break; } } this.list.push(s), (this.map[e] = s); } removeByKey(t) { this.list.remove(this.map[t]), delete this.map[t]; } removeByObj(e) { for (let t = this.list.length - 1; 0 <= t; t--) this.list[t].obj == e && (delete this.map[this.list[t].key], this.list.splice(t, 1)); } setSaveKey(t) { this.saveKey = t; } getSaveObj(t) { return this.map[t]; } autoSave() { console.error('自动保存数据'); for (var t of this.list) t.isAuto && this.$save(t); } getAllAutoSaveData() { console.error('getAllAutoSaveData自动保存数据'); let t = {}; for (var e of this.list) { var i; e.isAuto ? ((i = this.$save(e)), (t[e.saveKey] = i)) : this.$save(e); } return JSON.stringify(t); } syncByData(t) { for (const e in t) cc.sys.localStorage.setItem(e, JSON.stringify(t[e])); } saveAll() { console.error('全部保存数据'); for (var t of this.list) this.$save(t); Log.trace("存档成功!"); } $save(t) { var e = t.obj.createMemento(t.key); console.error('保存数据'); console.error(e); return ( e && "object" == typeof e ? cc.sys.localStorage.setItem(t.saveKey, JSON.stringify(e)) : cc.sys.localStorage.removeItem(t.saveKey), e ); } save(t) { t = this.map[t]; t && this.$save(t); } clearAllItem() { (this.list = []), (this.map = {}); } clearItem(t) { t = this.map[t]; t && cc.sys.localStorage.removeItem(t.saveKey); } checkIsNeedUpdateData() { var t, e; this._saveInfo && ((e = s.default.DateUtils.Now()), (t = Math.floor((e - this._saveInfo.timezoneOffset) / 1e3 / 60 / 60 / 24)), (e = Math.floor((t + 3) / 7)), (this._saveInfo.week = e), -1 !== this._saveInfo.day ? t > this._saveInfo.day && ((this._saveInfo.day = t), (this.updateDayDataCaches = {}), this.$updateDayData(t)) : (this._saveInfo.day = t)); } clear() { for (var t of this.list) cc.sys.localStorage.removeItem(t.saveKey); } $updateDayData(t) { for (var e of this.list) e.obj.updateDayData && e.obj.updateDayData(e.key, t), (this.updateDayDataCaches[e.key] = !0); this.isNeedUpdateDayData = !0; } updateWeekData() { for (var t of this.list) t.obj.updateWeekData && t.obj.updateWeekData(t.key); } loadAll() { for (var t of this.list) { var e; t.isAuto && ((e = this.$load(t.saveKey)), t.obj.setMemento(e, t.key)); } console.error(`加载本地文件 `); Log.trace("加载存档成功!"); } $load(e) { var i = cc.sys.localStorage.getItem(e); if (e==='GAME_DATA') { console.error('在这边截取到地图数据'); console.error(JSON.parse(i)); } if (i) try { return JSON.parse(i); } catch (t) { return ( cc.sys.localStorage.removeItem(e), Log.error( `\u52a0\u8f7d\u672c\u5730\u6587\u4ef6:${e}, \u89e3\u6790\u7684\u5185\u5bb9:${i} \u51fa\u9519!!!!`, t ), null ); } return null; } createMemento() { return this._saveInfo; } setMemento(t) { var e, i; t ? (isNaN(t.timezoneOffset) && (t.timezoneOffset = 6e4 * new Date().getTimezoneOffset()), (this._saveInfo = t)) : ((i = s.default.DateUtils.Now()), (e = 6e4 * new Date().getTimezoneOffset()), (t = Math.floor((i - e) / 1e3 / 60 / 60 / 24)), (i = Math.floor((t + 3) / 7)), (this._saveInfo = { day: t, week: i, timezoneOffset: e })), s.default.DateUtils.setTimezoneOffset(this._saveInfo.timezoneOffset); } load(t) { let e = this.map[t]; var i; e && // ((i = ddd), ((i = this.$load(e.saveKey)), e.obj.setMemento(i, t), this.isNeedUpdateDayData && !this.updateDayDataCaches[t] && ((this.updateDayDataCaches[t] = !0), e.obj.updateDayData && e.obj.updateDayData(t, this._saveInfo.day))); } }), ((i = i.ZHANGAIWU_OPERTYPE || (i.ZHANGAIWU_OPERTYPE = {}))[(i.CLOSE = 0)] = "CLOSE"), (i[(i.NEED_CLOSE = -1)] = "NEED_CLOSE"), (i[(i.NEED_OPEN = -2)] = "NEED_OPEN"), (i[(i.OPEN = -3)] = "OPEN"), (i[(i.BUY = -4)] = "BUY");