games/ChaoJiJieYaGuan_LiuBianXing/assets/Script/Tools/gameStorage.ts

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)
}
}