import { JsonAsset, sys } from "cc"; // 定义今天的数据类 export class LocalTodayData { private _todayData: TodayData; constructor() { let defaultData: TodayData = { lookVedionum: 0, isUnlockAll: false, UnLockAllTimes: 0 } this._todayData = sys.localStorage.getItem("todayData") ? Object.assign(defaultData, JSON.parse(sys.localStorage.getItem("todayData"))) : defaultData } get todayData(): TodayData { return this._todayData; } set todayData(data: Partial) { Object.assign(this._todayData, data); this.saveTodayData(); } // 获取用户数据 getTodayData(): TodayData { return this._todayData; } // 设置用户数据 setTodayData(data: Partial): void { Object.assign(this._todayData, data); this.saveTodayData(); } // 保存用户数据到本地存储 public saveTodayData(): void { sys.localStorage.setItem("todayData", JSON.stringify(this._todayData)); } } export const Today = new LocalTodayData(); // 定义用户数据管理类 export class LocalDataMgr { private _userData: UserData; private _lixiantime: number; private _lixiantime2: string; constructor() { this.lixianTime2 = "" let defaultData: UserData = { unlockUnits: [], sound: true, music: true, openid: "demo", leveltime: 120 } this._userData = sys.localStorage.getItem("userData") ? Object.assign(defaultData, JSON.parse(sys.localStorage.getItem("userData"))) : defaultData this.lixianTime = sys.localStorage.getItem("lixianTime") || 0 } get lixianTime() { return this._lixiantime } set lixianTime(time: number) { this._lixiantime = time sys.localStorage.setItem("lixianTime", time) } get lixianTime2() { return this._lixiantime2 } set lixianTime2(time: string) { this._lixiantime2 = time sys.localStorage.setItem("lixianTime2", time) } get userData(): UserData { return this._userData; } // 获取用户数据 getUserData(): UserData { return this._userData; } // 设置用户数据 setUserData(data: Partial): void { Object.assign(this._userData, data) this.saveUserData(); } // 保存用户数据到本地存储 saveUserData(): void { sys.localStorage.setItem("userData", JSON.stringify(this._userData)); } startgametime: number = 0; entergametime: number = 0 } export const User = new LocalDataMgr(); export interface usercards { id: number, level: number, num: number } // 用户数据接口 export interface UserData { unlockUnits: Array; sound: boolean; music: boolean; openid: string; leveltime: number; } export interface TodayData { lookVedionum: number; isUnlockAll: boolean; UnLockAllTimes: number; } export interface DifficutyData { difficutyCount: number; scales: Array } export class UserDifficutyData { private _difficutyData: DifficutyData; constructor() { let defaultData: DifficutyData = { difficutyCount: 0, scales: [1.18, 1.16, 1.14, 0.3976, 0.3690, 0.3029, 0.0667, 0.0766, 0.0531, 0.0716] } this._difficutyData = sys.localStorage.getItem("difficutyData") ? Object.assign(defaultData, JSON.parse(sys.localStorage.getItem("difficutyData"))) : defaultData } get difficutyData(): DifficutyData { return this._difficutyData; } set difficutyData(data: Partial) { Object.assign(this._difficutyData, data); this.saveDifficutyData(); } // 获取难度数据 getDifficutyData(): DifficutyData { return this._difficutyData; } // 设置难度数据 setDifficutyData(data: Partial): void { Object.assign(this._difficutyData, data); this.saveDifficutyData(); } // 保存用户数据到本地存储 public saveDifficutyData(): void { sys.localStorage.setItem("difficutyData", JSON.stringify(this._difficutyData)); } } export const Difficulty = new UserDifficutyData(); export interface SkinData { singleSelect:string multiSelect:string selectedSkinList:Array } export class UserSkinData { private _skinData: SkinData; constructor() { let defaultData: SkinData = { singleSelect: "true", multiSelect: "false", selectedSkinList: [] } this._skinData = sys.localStorage.getItem("skinData") ? Object.assign(defaultData, JSON.parse(sys.localStorage.getItem("skinData"))) : defaultData } get skinData(): SkinData { return this._skinData; } set skinData(data: Partial) { Object.assign(this._skinData, data); this.saveSkinData(); } // 获取皮肤数据 getSkinData(): SkinData { return this._skinData; } // 设置皮肤数据 setSkinData(data: Partial): void { Object.assign(this._skinData, data); this.saveSkinData(); } // 保存用户数据到本地存储 public saveSkinData(): void { sys.localStorage.setItem("skinData", JSON.stringify(this._skinData)); } } export const Skin = new UserSkinData(); export interface MapData { types:Array selectedMaps:Array } export class UserMapData { private _mapData: MapData; constructor() { let defaultData: MapData = { types: ["全部","爆量"], selectedMaps: [] } this._mapData = sys.localStorage.getItem("mapData") ? Object.assign(defaultData, JSON.parse(sys.localStorage.getItem("mapData"))) : defaultData } get mapData(): MapData { return this._mapData; } set mapData(data: Partial) { Object.assign(this._mapData, data); this.saveMapData(); } // 获取地图数据 getMapData(): MapData { return this._mapData; } // 设置地图数据 setMapData(data: Partial): void { Object.assign(this._mapData, data); this.saveMapData(); } // 保存用户数据到本地存储 public saveMapData(): void { sys.localStorage.setItem("mapData", JSON.stringify(this._mapData)); } } export interface SuperFindData { title:string levelDesc:string imgPath:string } export class UserSuperFindData { private _superFindData: SuperFindData; constructor() { let obj = Skin.getSkinData().selectedSkinList[0] let defaultData: SuperFindData = { title: `找到${Difficulty.getDifficutyData().difficutyCount}个跳舞的小熊`, levelDesc: `疯狂最强找茬-找小熊-第${1}关`, imgPath: `image/bg1` } this._superFindData = sys.localStorage.getItem("superFindData") ? Object.assign(defaultData, JSON.parse(sys.localStorage.getItem("superFindData"))) : defaultData } get superFindData(): SuperFindData { return this._superFindData; } set superFindData(data: Partial) { Object.assign(this._superFindData, data); this.saveSuperFindData(); } // 获取疯狂找茬数据 getSuperFindData(): SuperFindData { return this._superFindData; } // 设置疯狂找茬数据 setSuperFindData(data: Partial): void { Object.assign(this._superFindData, data); this.saveSuperFindData(); } // 保存数据到本地存储 public saveSuperFindData(): void { sys.localStorage.setItem("superFindData", JSON.stringify(this._superFindData)); } }