197 lines
5.0 KiB
TypeScript
197 lines
5.0 KiB
TypeScript
/**
|
|
* 数据存储类
|
|
* 单例模式
|
|
* 作者微信: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 //当前体力值
|
|
|
|
/**
|
|
* 音乐
|
|
* @param t
|
|
*/
|
|
setMusic(t) {
|
|
cc.sys.localStorage.setItem("music", t)
|
|
}
|
|
getMusic() {
|
|
var t = cc.sys.localStorage.getItem("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("sound", t)
|
|
}
|
|
getSound() {
|
|
var t = cc.sys.localStorage.getItem("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("zhendong", t)
|
|
}
|
|
getZhenDong(){
|
|
var t = cc.sys.localStorage.getItem("zhendong");
|
|
if(t === undefined || t === null || t === '' || t === 'NaN'){
|
|
t = 1
|
|
this.setSound(1)
|
|
return t
|
|
}
|
|
return Number(t)
|
|
}
|
|
|
|
/**
|
|
* 离线时间
|
|
*/
|
|
setoffLineTime(){
|
|
let _time = new Date().getTime()
|
|
cc.sys.localStorage.setItem('logintime', _time)
|
|
console.log('打印存储离线时间',_time)
|
|
}
|
|
getoffLineTime(){
|
|
var t = cc.sys.localStorage.getItem('logintime')
|
|
return t = t||0 ,Number(t)
|
|
}
|
|
|
|
/**
|
|
* 体力
|
|
* @param t
|
|
*/
|
|
setEnergy(t) {
|
|
this.nowEnery = t
|
|
cc.sys.localStorage.setItem("tili", t)
|
|
}
|
|
getEnergy(){
|
|
var t = cc.sys.localStorage.getItem("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("maxengry", at)
|
|
}
|
|
getMaxEngryVideoShu(){
|
|
var t = cc.sys.localStorage.getItem("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("hightscore", t)
|
|
//上传排行榜数据
|
|
//gameShareAdsVideo.Instance.setImRankData_Num(String(t))
|
|
}
|
|
getHightScore(){
|
|
var t = cc.sys.localStorage.getItem("hightscore");
|
|
return t = t || 0 ,Number(t)
|
|
}
|
|
|
|
//游戏金币
|
|
setGold(t){
|
|
cc.sys.localStorage.setItem("gold", t)
|
|
}
|
|
getGold(){
|
|
var t = cc.sys.localStorage.getItem("gold");
|
|
return t = t || 0 ,Number(t)
|
|
}
|
|
|
|
/**
|
|
* 设置关卡数据
|
|
*/
|
|
setCheckOutData(t){
|
|
let at = JSON.stringify(t)
|
|
cc.sys.localStorage.setItem("CheckOutData", at)
|
|
}
|
|
getCheckOutData(){
|
|
var t = cc.sys.localStorage.getItem("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
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 挑战模式,关卡开放状态
|
|
*/
|
|
getChallengeCheckOpenState(){
|
|
var t = cc.sys.localStorage.getItem("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("ChallengeCheckOpenState", at)
|
|
}
|
|
}
|