/** * 数据存储类 * 单例模式 * 作者微信:haotxp */ export default class gameStorage{ public static _instance:gameStorage = null public static get Instance(){ if (null == this._instance) { this._instance = new gameStorage(); } return this._instance } public nowEnery:number = 0 //当前体力值 gameName = 'majiang2_' /** * 音乐 * @param t */ setMusic(t) { cc.sys.localStorage.setItem(this.gameName + "music", t) } getMusic() { var t = cc.sys.localStorage.getItem(this.gameName + "music"); if(t === undefined || t === null || t === '' || t === 'NaN'){ t = 1 this.setMusic(1) return t } return Number(t) } /** * 音效 * @param t */ setSound(t) { cc.sys.localStorage.setItem(this.gameName + "sound", t) } getSound() { var t = cc.sys.localStorage.getItem(this.gameName + "sound"); if(t === undefined || t === null || t === '' || t === 'NaN'){ t = 0 this.setSound(0) return t } return Number(t) } /** * 震动 * @param t */ setZhenDong(t){ cc.sys.localStorage.setItem(this.gameName + "zhendong", t) } getZhenDong(){ var t = cc.sys.localStorage.getItem(this.gameName + "zhendong"); if(t === undefined || t === null || t === '' || t === 'NaN'){ t = 1 this.setZhenDong(1) return t } return Number(t) } /** * 离线时间 */ setoffLineTime(){ let _time = new Date().getTime() cc.sys.localStorage.setItem(this.gameName + 'logintime', _time) console.log('打印存储离线时间',_time) } getoffLineTime(){ var t = cc.sys.localStorage.getItem(this.gameName + 'logintime') return t = t||0 ,Number(t) } /** * 体力 * @param t */ setEnergy(t) { this.nowEnery = t cc.sys.localStorage.setItem(this.gameName + "tili", t) } getEnergy(){ var t = cc.sys.localStorage.getItem(this.gameName + "tili"); if(t === undefined || t === null || t === 'NaN' || t === ''){ t = 10 this.setEnergy(10) } this.nowEnery = Number(t) return this.nowEnery } //当日无限体力模式 setMaxEngryVideoShu(t){ let at = JSON.stringify(t) cc.sys.localStorage.setItem(this.gameName + "maxengry", at) } getMaxEngryVideoShu(){ var t = cc.sys.localStorage.getItem(this.gameName + "maxengry"); if(t === undefined || t === null || t === ''){ t = [-1,0] }else{ t = JSON.parse(t) if(Number(t[0]) != -1){ let shijian = Number(new Date()) console.log('打印无限体力时间', shijian - Number(t[0]), 90000000) if((shijian - Number(t[0])) >= (25 *3600)*1000){ t = [-1, 0] this.setEnergy(5) this.setMaxEngryVideoShu(t) } } } return t } //287766647 - 204041344 //记录高分 或者关卡总是 用于排行 setHightScore(t){ cc.sys.localStorage.setItem(this.gameName + "hightscore", t) //上传排行榜数据 //gameShareAdsVideo.Instance.setImRankData_Num(String(t)) } getHightScore(){ var t = cc.sys.localStorage.getItem(this.gameName + "hightscore"); return t = t || 0 ,Number(t) } //游戏金币 setGold(t){ cc.sys.localStorage.setItem(this.gameName + "gold", t) } getGold(){ var t = cc.sys.localStorage.getItem(this.gameName + "gold"); return t = t || 0 ,Number(t) } /** * 设置关卡数据 */ setCheckOutData(t){ let at = JSON.stringify(t) cc.sys.localStorage.setItem(this.gameName + "CheckOutData", at) } getCheckOutData(){ var t = cc.sys.localStorage.getItem(this.gameName + "CheckOutData"); if(t === undefined || t === null || t === ''){ let data = [ 0, //关卡数 0, //当前进度 9, //临时解锁卡槽的位置 [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1], //临时卡槽的状态 [] //每个底座卡牌的数据 ] return data }else{ t = JSON.parse(t) return t } } /** * 设置升级关卡数据 * @param t */ setShengJiCheckOutData(t){ let at = JSON.stringify(t) cc.sys.localStorage.setItem(this.gameName + "ShengJiCheckOutData", at) } getShengJiCheckOutData(){ var t = cc.sys.localStorage.getItem(this.gameName + "ShengJiCheckOutData"); if(t === undefined || t === null || t === ''){ let data = [ 0, //关卡数 600, //剩余时间 [ //卡槽状态 //0未开放视频解锁, 1 开放, 2合成后锁定, 3:23号发牌使用 1,1,1, 1,1,1, 1,1,1, 1,1,1, 1,1,1, 1,0,1, 1,0,1, 1,1,1, 1,1,3 ], [], //每个底座卡牌的数据 [], //剩余卡组 0, //剩余需要合成的数量 0, //步数计数 ] return data }else{ t = JSON.parse(t) return t } } resetShengJiCheckOutData(guanqia){ let data = [ guanqia, //关卡数 600, //剩余时间 [ //卡槽状态 //0未开放视频解锁, 1 开放, 2合成后锁定, 3:23号发牌使用 1,1,1, 1,1,1, 1,1,1, 1,1,1, 1,1,1, 1,0,1, 1,0,1, 1,1,1, 1,1,3 ], [], //每个底座卡牌的数据 [], //剩余卡组 0, //剩余需要合成的数量 0, //步数计数 ] this.setShengJiCheckOutData(data) } /** * 挑战模式,关卡开放状态 */ getChallengeCheckOpenState(){ var t = cc.sys.localStorage.getItem(this.gameName + "ChallengeCheckOpenState"); if(t === undefined || t === null || t === ''){ t = [ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0 ] this.setChallengeCheckOpenState(t) }else{ t = JSON.parse(t) } return t } setChallengeCheckOpenState(t){ let at = JSON.stringify(t) cc.sys.localStorage.setItem(this.gameName + "ChallengeCheckOpenState", at) } }