260 lines
7.3 KiB
TypeScript
260 lines
7.3 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 //当前体力值
|
||
|
||
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)
|
||
}
|
||
|
||
|
||
}
|