You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
755 lines
29 KiB
755 lines
29 KiB
4 weeks ago
|
import EventMgr from "../Event/EventMgr";
|
||
|
import { ryw_Event } from "../Event/EventEnum";
|
||
|
import PhysicalPowerManger from "../../ttFrame/manager/PhysicalPowerManger";
|
||
|
import GameMgr from "../Mgr/GameMgr";
|
||
|
import { DateUtils } from "../Util/DateUtils";
|
||
|
import Common5 from "../../Platform/th/Common5";
|
||
|
import AppSwitchConfig from "../Config/AppSwitchConfig";
|
||
|
import DayUnlock from "../../ttFrame/manager/DayUnlock";
|
||
|
import CommonDefine from "../../Platform/th/CommonDefine";
|
||
|
import AppPlatform from "../Util/AppPlatform";
|
||
|
import TTAPI from "../../Platform/tt/TTAPI";
|
||
|
|
||
|
export class LevelFlag{
|
||
|
public level:number = 0;
|
||
|
public flag:number[] = [];
|
||
|
}
|
||
|
export class LevelFlag_fkwz{
|
||
|
public level:number = 0;
|
||
|
public flag:number = 0;
|
||
|
}
|
||
|
//游戏数据,为保持版本兼容,建议不要删除和修改字段名
|
||
|
export class UserGameData {
|
||
|
public physicalData: any = {};
|
||
|
public dayUnlock: any = {};
|
||
|
public levelNum: number = 0;//当前关卡
|
||
|
public moneyNum: number = 0;//金币数量
|
||
|
public unlockedItem: Array<number> = [];//道具当前解锁的索引
|
||
|
public lastOnlineTime: number = 0;
|
||
|
public otherPlatformUserID = "";
|
||
|
public collectLevels =[];
|
||
|
public successLevels=[];
|
||
|
public daojuArr=[0,0,0];
|
||
|
public userId = '';
|
||
|
public uuid:string = '';
|
||
|
public wordGameAnswerUnlock: Array<LevelFlag> = [];//侦探笔记游戏当前是否看答案,0没看,1看了提示,2看了答案
|
||
|
public wordGameAnswerUnlock_fkwz: Array<LevelFlag_fkwz> = [];//疯狂文字游戏当前是否看答案,0没看,1看了提示,2看了答案
|
||
|
|
||
|
public levelNum_duck: number = 0;//当前鸭子关卡
|
||
|
|
||
|
/**当前道士下山关卡 */
|
||
|
public levelNum_dsxs_Array: Array<number> = [];
|
||
|
/**存储当前关卡 */
|
||
|
public levelNum_Array: Array<number> = [];
|
||
|
|
||
|
/**当前文字游戏关卡 */
|
||
|
public levelNum_Word_Array: Array<number> = [];
|
||
|
/**当前收纳关卡 */
|
||
|
public levelNum_SN_Array: Array<number> = [];
|
||
|
public firstIn:boolean = true;
|
||
|
public dadianListGame = {}
|
||
|
public isFinishCeBianLanAward:boolean = false//是否领取过侧边栏奖励
|
||
|
}
|
||
|
|
||
|
export default class User {
|
||
|
public static code_custom: string = "";
|
||
|
public static openId_custom: string = "";
|
||
|
public static token_custom: string = null;
|
||
|
public static nickName_custom: string = "";
|
||
|
public static gender_custom: number = 0;
|
||
|
|
||
|
public static get isLogin_custom() {
|
||
|
return (User.code_custom != "") || (User.token_custom != "");
|
||
|
}
|
||
|
|
||
|
private static readonly _gameData_custom: UserGameData = new UserGameData();
|
||
|
|
||
|
public static getSaveData_custom(): string {
|
||
|
//体力数据
|
||
|
User._gameData_custom.physicalData = PhysicalPowerManger.getData();
|
||
|
User._gameData_custom.dayUnlock = DayUnlock.getData();
|
||
|
return JSON.stringify(User._gameData_custom);
|
||
|
}
|
||
|
public static TT() {
|
||
|
User._gameData_custom.levelNum_Array = [];
|
||
|
User._gameData_custom.collectLevels = [];
|
||
|
User._gameData_custom.successLevels = [];
|
||
|
User._gameData_custom.daojuArr = [0,0,0];
|
||
|
User._gameData_custom.levelNum = 0;
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 测试用途
|
||
|
*/
|
||
|
public static testInitUser_custom() {
|
||
|
User._gameData_custom.levelNum = 0;
|
||
|
User._gameData_custom.moneyNum = 1000;
|
||
|
}
|
||
|
public static initLevel() {
|
||
|
let levela = User.getLevelAryy_custom();
|
||
|
if (!levela || levela.length == 0) {
|
||
|
if (User.getLeveNum_custom() >= 1) {
|
||
|
console.log("恢复关卡数据", User.getLeveNum_custom(), User.getLevelAryy_custom())
|
||
|
for (let index = 0; index <= User.getLeveNum_custom(); index++) {
|
||
|
User.setLevelAryy_custom(index, true);
|
||
|
}
|
||
|
} else {
|
||
|
console.log("没有!!!!")
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
public static initiUser_custom(data) {
|
||
|
console.log("***************************** User initUser ************************************** ");
|
||
|
console.log(data);
|
||
|
// console.log((new Date()).getTime());
|
||
|
|
||
|
if (data && 0 != data) {
|
||
|
User._gameData_custom.levelNum = User.verify(data.levelNum, 0);
|
||
|
User._gameData_custom.levelNum_duck = User.verify(data.levelNum_duck, 0);
|
||
|
// User._gameData_custom.levelNum_dsxs_Array = User.verify(data.levelNum_dsxs_Array, 0);
|
||
|
|
||
|
User._gameData_custom.moneyNum = User.verify(data.moneyNum, 0);
|
||
|
User._gameData_custom.lastOnlineTime = User.verify(data.lastOnlineTime, -1)
|
||
|
User._gameData_custom.otherPlatformUserID = User.verify(data.otherPlatformUserID, "");
|
||
|
PhysicalPowerManger.initData(User.verify(data.physicalData, {}));
|
||
|
DayUnlock.initData(User.verify(data.dayUnlock, {}))
|
||
|
//增加自己的数据
|
||
|
if (null != data.unlockedItem) {
|
||
|
let unlockedItem: Array<number> = data.unlockedItem;
|
||
|
for (let i = 0; i < unlockedItem.length; ++i) {
|
||
|
User._gameData_custom.unlockedItem.push(unlockedItem[i]);
|
||
|
}
|
||
|
}
|
||
|
if (null != data.wordGameAnswerUnlock) {
|
||
|
let wordGameAnswerUnlock: Array<LevelFlag> = data.wordGameAnswerUnlock;
|
||
|
for (let i = 0; i < wordGameAnswerUnlock.length; ++i) {
|
||
|
let find = false;
|
||
|
for (let j = 0; j < User._gameData_custom.wordGameAnswerUnlock.length; j++){
|
||
|
if (User._gameData_custom.wordGameAnswerUnlock[j].level == wordGameAnswerUnlock[i].level){
|
||
|
find = true;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
if (!find){
|
||
|
User._gameData_custom.wordGameAnswerUnlock.push(wordGameAnswerUnlock[i]);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
if (null != data.wordGameAnswerUnlock_fkwz) {
|
||
|
let wordGameAnswerUnlock_fkwz: Array<LevelFlag_fkwz> = data.wordGameAnswerUnlock_fkwz;
|
||
|
for (let i = 0; i < wordGameAnswerUnlock_fkwz.length; ++i) {
|
||
|
let find = false;
|
||
|
for (let j = 0; j < User._gameData_custom.wordGameAnswerUnlock_fkwz.length; j++){
|
||
|
if (User._gameData_custom.wordGameAnswerUnlock_fkwz[j].level == wordGameAnswerUnlock_fkwz[i].level){
|
||
|
find = true;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
if (!find){
|
||
|
User._gameData_custom.wordGameAnswerUnlock_fkwz.push(wordGameAnswerUnlock_fkwz[i]);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**增加道士下山模式 */
|
||
|
if (null != data.levelNum_dsxs_Array) {
|
||
|
let levelNum_dsxs_Array: Array<number> = data.levelNum_dsxs_Array;
|
||
|
for (let i = 0; i < levelNum_dsxs_Array.length; ++i) {
|
||
|
User._gameData_custom.levelNum_dsxs_Array.push(levelNum_dsxs_Array[i]);
|
||
|
}
|
||
|
}
|
||
|
/**增加文字游戏模式 */
|
||
|
if (null != data.levelNum_Word_Array) {
|
||
|
let levelNum_Word_Array: Array<number> = data.levelNum_Word_Array;
|
||
|
for (let i = 0; i < levelNum_Word_Array.length; ++i) {
|
||
|
User._gameData_custom.levelNum_Word_Array.push(levelNum_Word_Array[i]);
|
||
|
}
|
||
|
}
|
||
|
/**增加收纳模式 */
|
||
|
if (null != data.levelNum_SN_Array) {
|
||
|
let levelNum_SN_Array: Array<number> = data.levelNum_SN_Array;
|
||
|
for (let i = 0; i < levelNum_SN_Array.length; ++i) {
|
||
|
User._gameData_custom.levelNum_SN_Array.push(levelNum_SN_Array[i]);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (null != data.userId) {
|
||
|
User._gameData_custom.userId = data.userId;
|
||
|
}
|
||
|
if (null != data.uuid){
|
||
|
User._gameData_custom.uuid = data.uuid;
|
||
|
}
|
||
|
if (null != data.firstIn){
|
||
|
User._gameData_custom.firstIn = data.firstIn;
|
||
|
}
|
||
|
|
||
|
if (null != data.levelNum_Array) {
|
||
|
let levelNum_Array: Array<number> = data.levelNum_Array;
|
||
|
for (let i = 0; i < Common5.addGameArr.length; ++i) {
|
||
|
let sum = levelNum_Array[i];
|
||
|
if (sum == 0 || sum == 1) {
|
||
|
User._gameData_custom.levelNum_Array[i] = sum;
|
||
|
// if (User.getLeveNum_custom() >= i) {
|
||
|
// User.setLevelAryy_custom(i, true);
|
||
|
// // User._gameData_custom.levelNum_Array[i] = 1;
|
||
|
// }
|
||
|
} else {
|
||
|
User._gameData_custom.levelNum_Array[i] = 0;
|
||
|
}
|
||
|
}
|
||
|
// User._gameData_custom.levelNum_Array[0] = 1;
|
||
|
} else {
|
||
|
for (let index = 0; index < Common5.addGameArr.length; index++) {
|
||
|
User._gameData_custom.levelNum_Array[index] = User.getLeveNum_custom() <= index ? 1 : 0;
|
||
|
}
|
||
|
// User._gameData_custom.levelNum_Array[0] = 1;
|
||
|
}
|
||
|
if (null != data.collectLevels){
|
||
|
User._gameData_custom.collectLevels = data.collectLevels;
|
||
|
}
|
||
|
if (null != data.successLevels){
|
||
|
User._gameData_custom.successLevels = data.successLevels;
|
||
|
}
|
||
|
if (null != data.daojuArr){
|
||
|
User._gameData_custom.daojuArr = data.daojuArr;
|
||
|
}
|
||
|
if (null != data.dadianListGame){
|
||
|
User._gameData_custom.dadianListGame = data.dadianListGame;
|
||
|
}
|
||
|
if (null != data.isFinishCeBianLanAward){
|
||
|
User._gameData_custom.isFinishCeBianLanAward = data.isFinishCeBianLanAward;
|
||
|
}
|
||
|
if (User.getLastOnlineTime() != (new Date()).getDay()) {
|
||
|
console.log("ly+++++++++++++ 第二天了", User.getLastOnlineTime(), (new Date()).getDay());
|
||
|
PhysicalPowerManger.initData({})
|
||
|
//DayUnlock.initData({});
|
||
|
User._gameData_custom.dadianListGame = {}
|
||
|
User._gameData_custom.isFinishCeBianLanAward = false
|
||
|
}
|
||
|
User.setLastOnlineTime((new Date()).getDay());
|
||
|
}
|
||
|
else {
|
||
|
PhysicalPowerManger.initData({});
|
||
|
DayUnlock.initData({});
|
||
|
//todo:处理没有获取到玩家数据的情况
|
||
|
User.setLastOnlineTime((new Date()).getDay());
|
||
|
// for (let index = 0; index < Common5.addGameArr.length; index++) {
|
||
|
// User._gameData_custom.levelNum_Array.push(0);
|
||
|
// }
|
||
|
// User._gameData_custom.levelNum_Array[0] = 1;
|
||
|
// console.log("重置了!!!!!!!!!!!!")
|
||
|
}
|
||
|
|
||
|
// if (PhysicalPowerManger.getPhyVideoAllNum() >= AppSwitchConfig.getInstance_custom().getAppSwitchData_custom().ttcfg_custom.videoWxtlPowerNum) {
|
||
|
// PhysicalPowerManger.addNewPhysicalAll();
|
||
|
// PhysicalPowerManger.setPhyVideoAllNum(0);
|
||
|
// EventMgr.emitEvent_custom(ryw_Event.start_hideWxtlBtn);
|
||
|
// }
|
||
|
// if (DayUnlock.getDayUnlockVideoAllNum() >= AppSwitchConfig.getInstance_custom().getAppSwitchData_custom().ttcfg_custom.videoUnlockDayNum) {
|
||
|
// DayUnlock.addNewDayUnlocksicalAll();
|
||
|
// DayUnlock.setDayUnlocVideoAllNum(0);
|
||
|
// EventMgr.emitEvent_custom(ryw_Event.unLockAllLevelTmp);
|
||
|
// console.log("unLockAllLevelTmp_ztbj");
|
||
|
// }
|
||
|
}
|
||
|
|
||
|
public static setLastOnlineTime(dayNum: number) {
|
||
|
User._gameData_custom.lastOnlineTime = dayNum;
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
|
||
|
public static getLastOnlineTime(): number {
|
||
|
return User._gameData_custom.lastOnlineTime;
|
||
|
}
|
||
|
public static setOtherplatformUserid(otn) {
|
||
|
User._gameData_custom.otherPlatformUserID = otn;
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
public static getOtherplatformUserid() {
|
||
|
return User._gameData_custom.otherPlatformUserID;
|
||
|
}
|
||
|
|
||
|
public static setLeveNum_custom(levelNum: number) {
|
||
|
User._gameData_custom.levelNum = levelNum;
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
|
||
|
public static getLeveNum_custom(): number {
|
||
|
return User._gameData_custom.levelNum;
|
||
|
}
|
||
|
|
||
|
|
||
|
public static setLevelNum_duck_custom(levelNum_duck: number) {
|
||
|
User._gameData_custom.levelNum_duck = levelNum_duck;
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
|
||
|
public static getLevelNum_duck_custom(): number {
|
||
|
return User._gameData_custom.levelNum_duck;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
public static addMoney_custom(add: number) {
|
||
|
add = Math.ceil(add)
|
||
|
var last = User._gameData_custom.moneyNum
|
||
|
User._gameData_custom.moneyNum += add;
|
||
|
EventMgr.emitEvent_custom(ryw_Event.ryw_Game_OnUserMoneyChange_custom,
|
||
|
{
|
||
|
curr: User._gameData_custom.moneyNum,
|
||
|
last: last
|
||
|
})
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
public static subMoney_custom(sub: number) {
|
||
|
sub = Math.ceil(sub)
|
||
|
var last = User._gameData_custom.moneyNum
|
||
|
User._gameData_custom.moneyNum -= sub;
|
||
|
if (User._gameData_custom.moneyNum < 0) {
|
||
|
User._gameData_custom.moneyNum = 0;
|
||
|
}
|
||
|
EventMgr.emitEvent_custom(ryw_Event.ryw_Game_OnUserMoneyChange_custom,
|
||
|
{
|
||
|
curr: User._gameData_custom.moneyNum,
|
||
|
last: last
|
||
|
})
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
public static getMoney_custom() {
|
||
|
return User._gameData_custom.moneyNum;
|
||
|
}
|
||
|
|
||
|
//获取当前商店解锁的道具
|
||
|
public static getItemUnlocked_custom(): Array<number> {
|
||
|
let unlocked = new Array<number>();
|
||
|
for (let i = 0; i < User._gameData_custom.unlockedItem.length; ++i) {
|
||
|
unlocked.push(User._gameData_custom.unlockedItem[i]);
|
||
|
}
|
||
|
return unlocked;
|
||
|
}
|
||
|
|
||
|
//商店道具是否解锁
|
||
|
public static itemIsUnlocked_custom(id: number): boolean {
|
||
|
console.log("ly++++++++++++++++++ id", id, User._gameData_custom.unlockedItem);
|
||
|
for (let i = 0; i < User._gameData_custom.unlockedItem.length; ++i) {
|
||
|
if (User._gameData_custom.unlockedItem[i] == id) {
|
||
|
return true;
|
||
|
}
|
||
|
}
|
||
|
return false;
|
||
|
}
|
||
|
/**获取当前关卡 */
|
||
|
public static getLevelAryy_custom(): Array<number> {
|
||
|
let unlocked = new Array<number>();
|
||
|
for (let i = 0; i < Common5.addGameArr.length; ++i) {
|
||
|
if (!User._gameData_custom.levelNum_Array[i]) {
|
||
|
unlocked.push(0)
|
||
|
} else {
|
||
|
unlocked.push(User._gameData_custom.levelNum_Array[i]);
|
||
|
}
|
||
|
}
|
||
|
// unlocked[0] = 1;
|
||
|
return unlocked;
|
||
|
}
|
||
|
/**关卡解锁 */
|
||
|
public static setLevelAryy_custom(id, isUseInit=false) {
|
||
|
|
||
|
//console.error(id, '关卡解锁')
|
||
|
User._gameData_custom.levelNum_Array[id] = 1;
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
|
||
|
//关卡覆盖
|
||
|
public static setLevelAryy_Cover(data) {
|
||
|
User._gameData_custom.levelNum_Array = data;
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
|
||
|
|
||
|
public static getCollectLevels(){
|
||
|
return User._gameData_custom.collectLevels;
|
||
|
}
|
||
|
public static setCollectLevels(level){
|
||
|
for (let i = 0; i < User._gameData_custom.collectLevels.length; i++){
|
||
|
if (level == User._gameData_custom.collectLevels[i]){
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
User._gameData_custom.collectLevels.push(level);
|
||
|
|
||
|
User.saveDataToServer()
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
|
||
|
}
|
||
|
public static setCollectLevelsCover(data){
|
||
|
User._gameData_custom.collectLevels = data
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
|
||
|
public static removeColeectLevels(level){
|
||
|
for (let i = 0; i < User._gameData_custom.collectLevels.length; i++){
|
||
|
if (level == User._gameData_custom.collectLevels[i]){
|
||
|
User._gameData_custom.collectLevels.splice(i,1);
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
User.saveDataToServer()
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
public static getDaojuArr(){
|
||
|
return User._gameData_custom.daojuArr;
|
||
|
}
|
||
|
public static setDaojuArr(data){
|
||
|
User._gameData_custom.daojuArr = data;
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
public static getSuccessLevels(){
|
||
|
return User._gameData_custom.successLevels;
|
||
|
}
|
||
|
public static setSuccessLevelsCover(data){
|
||
|
User._gameData_custom.successLevels = data;
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
|
||
|
public static setSuccessLevels(level){
|
||
|
for (let i = 0; i < User._gameData_custom.successLevels.length; i++){
|
||
|
if (level == User._gameData_custom.successLevels[i]){
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if(window['tt']){
|
||
|
TTAPI.setImRankData(User._gameData_custom.successLevels.length)
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
User._gameData_custom.successLevels.push(level);
|
||
|
TTAPI.setImRankData(User._gameData_custom.successLevels.length)
|
||
|
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
public static setlevelNum_dsxs_Array_custom(level: number) {
|
||
|
User._gameData_custom.levelNum_dsxs_Array[level] = 1;
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
|
||
|
public static getlevelNum_dsxs_Array_custom(): Array<number> {
|
||
|
let dsxs = new Array<number>();
|
||
|
for (let i = 0; i < Common5.swimmGameArr.length; ++i) {
|
||
|
if (!User._gameData_custom.levelNum_dsxs_Array[i]) {
|
||
|
dsxs.push(0)
|
||
|
} else {
|
||
|
dsxs.push(User._gameData_custom.levelNum_dsxs_Array[i]);
|
||
|
}
|
||
|
}
|
||
|
dsxs[0] = 1;
|
||
|
return dsxs;
|
||
|
}
|
||
|
|
||
|
public static getUnlockLevel() {
|
||
|
let levelArray = User._gameData_custom.levelNum_Array;
|
||
|
let _unlock = 0
|
||
|
for(let i = 0; i<levelArray.length;i++){
|
||
|
if(levelArray[i]==1){
|
||
|
_unlock++
|
||
|
}
|
||
|
}
|
||
|
return _unlock
|
||
|
|
||
|
}
|
||
|
|
||
|
public static setlevelNum_Word_Array_custom(level: number) {
|
||
|
User._gameData_custom.levelNum_Word_Array[level] = 1;
|
||
|
|
||
|
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
|
||
|
public static getlevelNum_Word_Array_custom(): Array<number> {
|
||
|
let word = new Array<number>();
|
||
|
for (let i = 0; i < Common5.RollGameArr.length; ++i) {
|
||
|
if (!User._gameData_custom.levelNum_Word_Array[i]) {
|
||
|
word.push(0)
|
||
|
} else {
|
||
|
word.push(User._gameData_custom.levelNum_Word_Array[i]);
|
||
|
}
|
||
|
}
|
||
|
//word[0] = 1;
|
||
|
return word;
|
||
|
}
|
||
|
|
||
|
public static setlevelNum_SN_Array_custom(level: number) {
|
||
|
User._gameData_custom.levelNum_SN_Array[level] = 1;
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
|
||
|
public static getlevelNum_SN_Array_custom(): Array<number> {
|
||
|
let sn = new Array<number>();
|
||
|
for (let i = 0; i < Common5.SaveGameArr.length; ++i) {
|
||
|
if (!User._gameData_custom.levelNum_SN_Array[i]) {
|
||
|
sn.push(0)
|
||
|
} else {
|
||
|
sn.push(User._gameData_custom.levelNum_SN_Array[i]);
|
||
|
}
|
||
|
}
|
||
|
sn[0] = 1;
|
||
|
return sn;
|
||
|
}
|
||
|
//获取侦探笔记解锁标志,1提示解锁,2答案解锁
|
||
|
public static getUnlockWordgameAnswer(level){
|
||
|
for (let i = 0; i < User._gameData_custom.wordGameAnswerUnlock.length; i++){
|
||
|
if (User._gameData_custom.wordGameAnswerUnlock[i].level == level){
|
||
|
|
||
|
return User._gameData_custom.wordGameAnswerUnlock[i].flag;
|
||
|
}
|
||
|
}
|
||
|
return 0;
|
||
|
}
|
||
|
//侦探笔记解锁标志,1提示解锁,2答案解锁
|
||
|
public static unlockWordgameAnswer(level,subLevel,unlockFlag){
|
||
|
let find = false
|
||
|
for (let i = 0; i < User._gameData_custom.wordGameAnswerUnlock.length; i++){
|
||
|
if (User._gameData_custom.wordGameAnswerUnlock[i].level == level){
|
||
|
find = true;
|
||
|
User._gameData_custom.wordGameAnswerUnlock[i].flag[subLevel] = unlockFlag;
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
let lf = new LevelFlag();
|
||
|
lf.flag[subLevel] = unlockFlag;
|
||
|
lf.level = level;
|
||
|
User._gameData_custom.wordGameAnswerUnlock.push(lf);
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
|
||
|
//获取疯狂文字解锁标志,1提示解锁,2答案解锁
|
||
|
public static getUnlockWordgameAnswer_fkwz(level){
|
||
|
for (let i = 0; i < User._gameData_custom.wordGameAnswerUnlock_fkwz.length; i++){
|
||
|
if (User._gameData_custom.wordGameAnswerUnlock_fkwz[i].level == level){
|
||
|
return User._gameData_custom.wordGameAnswerUnlock_fkwz[i].flag;
|
||
|
}
|
||
|
}
|
||
|
return 0;
|
||
|
}
|
||
|
//疯狂文字解锁标志,1提示解锁,2答案解锁
|
||
|
public static unlockWordgameAnswer_fkwz(level,unlockFlag){
|
||
|
let find = false
|
||
|
for (let i = 0; i < User._gameData_custom.wordGameAnswerUnlock_fkwz.length; i++){
|
||
|
if (User._gameData_custom.wordGameAnswerUnlock_fkwz[i].level == level){
|
||
|
find = true;
|
||
|
User._gameData_custom.wordGameAnswerUnlock_fkwz[i].flag = unlockFlag;
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
let lf = new LevelFlag_fkwz();
|
||
|
lf.flag = unlockFlag;
|
||
|
lf.level = level;
|
||
|
User._gameData_custom.wordGameAnswerUnlock_fkwz.push(lf);
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
|
||
|
|
||
|
//解锁商店道具
|
||
|
public static unlockItem_custom(id: number) {
|
||
|
if (User.itemIsUnlocked_custom(id)) {
|
||
|
console.log("商店重复解锁 id : ", id);
|
||
|
return;
|
||
|
}
|
||
|
console.log("商店解锁 id : ", id);
|
||
|
User._gameData_custom.unlockedItem.push(id);
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
EventMgr.emitEvent_custom(ryw_Event.ryw_Game_OnUserUnlockedStore_custom, { unlocked: id })
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 数据校验
|
||
|
* @param data 校验的数据
|
||
|
* @param defaultValue 默认值
|
||
|
*/
|
||
|
public static verify(data: any, defaultValue: any) {
|
||
|
if (data !== undefined) {
|
||
|
return data;
|
||
|
}
|
||
|
return defaultValue;
|
||
|
}
|
||
|
|
||
|
public static setDadianListGame(key, value) {
|
||
|
User._gameData_custom.dadianListGame[key] = value;
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
|
||
|
public static getDadianListGame() {
|
||
|
return User._gameData_custom.dadianListGame;
|
||
|
}
|
||
|
|
||
|
public static setFinishCeBianLanAward(bFinish) {
|
||
|
User._gameData_custom.isFinishCeBianLanAward = bFinish
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
|
||
|
public static getFinishCeBianLanAward() {
|
||
|
return User._gameData_custom.isFinishCeBianLanAward;
|
||
|
}
|
||
|
|
||
|
public static setUserId(userId) {
|
||
|
console.log("setUserId",userId)
|
||
|
User._gameData_custom.userId = userId;
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
public static getUserId() {
|
||
|
console.log("getUserId",User._gameData_custom.userId)
|
||
|
return User._gameData_custom.userId
|
||
|
}
|
||
|
|
||
|
public static setFirstIn(first:boolean) {
|
||
|
|
||
|
if(User._gameData_custom.firstIn){
|
||
|
User._gameData_custom.firstIn = first;
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
|
||
|
}
|
||
|
public static getFirstIn() {
|
||
|
return User._gameData_custom.firstIn;
|
||
|
}
|
||
|
public static setUUID(num: string) {
|
||
|
User._gameData_custom.uuid = num;
|
||
|
GameMgr.getInstance_custom().saveGameData_custom();
|
||
|
}
|
||
|
|
||
|
public static getUUID(): string {
|
||
|
return User._gameData_custom.uuid;
|
||
|
}
|
||
|
|
||
|
public static saveDataToServer(){
|
||
|
if(!AppPlatform.is_TT_GAME_custom()){
|
||
|
//let sendData = User.sendDataToUrl()
|
||
|
// CommonDefine.setServerData(sendData, ()=>{
|
||
|
// console.log('保存数据成功')
|
||
|
// }, ()=>{
|
||
|
// console.log('保存数据失败')
|
||
|
// })
|
||
|
}else{
|
||
|
let sendData = User.sendDataToUrl()
|
||
|
CommonDefine.setServerData(sendData, ()=>{
|
||
|
console.log('保存数据成功')
|
||
|
}, ()=>{
|
||
|
console.log('保存数据失败')
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public static sendDataToUrl() {
|
||
|
let CollectLevels = User.getCollectLevels()
|
||
|
let SuccessLevels = User.getSuccessLevels()
|
||
|
let levelNum_Array = User.getLevelAryy_custom()
|
||
|
|
||
|
let CollectLevelsStr = ''
|
||
|
for(let i = 0;i<CollectLevels.length;i++){
|
||
|
if(i==CollectLevels.length-1){
|
||
|
CollectLevelsStr = CollectLevelsStr+CollectLevels[i]+''
|
||
|
}else{
|
||
|
CollectLevelsStr = CollectLevelsStr+CollectLevels[i]+','
|
||
|
}
|
||
|
}
|
||
|
let CollectLevelsStrA = 'CollectLevels:'+ CollectLevelsStr+';'
|
||
|
|
||
|
|
||
|
let SuccessLevelsStr = ''
|
||
|
for(let i = 0;i<SuccessLevels.length;i++){
|
||
|
if(i==SuccessLevels.length-1){
|
||
|
SuccessLevelsStr = SuccessLevelsStr+SuccessLevels[i]+''
|
||
|
}else{
|
||
|
SuccessLevelsStr = SuccessLevelsStr+SuccessLevels[i]+','
|
||
|
}
|
||
|
}
|
||
|
let SuccessLevelsStrA = 'SuccessLevels:'+ SuccessLevelsStr+';'
|
||
|
|
||
|
|
||
|
let time = DayUnlock.getDayUnlockVideoAllTime()
|
||
|
let timeStr = 'DayUnlockVideoAllTime:'+ time+';'
|
||
|
|
||
|
|
||
|
let lockStr = ''
|
||
|
for(let i = 0;i<levelNum_Array.length;i++){
|
||
|
let data = levelNum_Array[i] || 0
|
||
|
if(i==levelNum_Array.length-1){
|
||
|
lockStr = lockStr+data+''
|
||
|
}else{
|
||
|
lockStr = lockStr+data+','
|
||
|
}
|
||
|
}
|
||
|
let lockStrA = 'levelNumArray:'+ lockStr+';'
|
||
|
|
||
|
let sendData = CollectLevelsStrA+SuccessLevelsStrA+timeStr+lockStrA
|
||
|
console.log('sendData+==',sendData)
|
||
|
return sendData
|
||
|
}
|
||
|
|
||
|
|
||
|
public static readDataByUrl(GameData) {
|
||
|
|
||
|
if(window['wx']){
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
//
|
||
|
let ceshiData = GameData
|
||
|
// ceshiData = 'CollectLevels:;SuccessLevels:;DayUnlockVideoAllTime:0;levelNumArray:1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,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,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,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,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,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,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,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,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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0;'
|
||
|
if(!ceshiData){
|
||
|
return
|
||
|
}
|
||
|
//console.error(ceshiData, 'ceshiData+++++++++==')
|
||
|
let arr1=ceshiData.split(";");
|
||
|
for(let value of arr1){
|
||
|
let arr2=value.split(":");
|
||
|
|
||
|
let keyName = arr2[0]
|
||
|
let keyValue = arr2[1]
|
||
|
if(keyName == 'CollectLevels'){
|
||
|
let lDatas = []
|
||
|
let array1 = keyValue.split(",");
|
||
|
for(let i = 0;i<array1.length;i++){
|
||
|
lDatas[lDatas.length] = Number(array1[i])
|
||
|
}
|
||
|
|
||
|
User.setCollectLevelsCover(lDatas)
|
||
|
}else if(keyName == 'SuccessLevels'){
|
||
|
|
||
|
let lDatas = []
|
||
|
let array1 = keyValue.split(",");
|
||
|
for(let i = 0;i<array1.length;i++){
|
||
|
|
||
|
lDatas[lDatas.length] = Number(array1[i])
|
||
|
}
|
||
|
User.setSuccessLevelsCover(lDatas)
|
||
|
}else if(keyName == 'DayUnlockVideoAllTime'){
|
||
|
// let data = Number(keyValue)
|
||
|
// DayUnlock.setDayUnlockVideoAllTime(data)
|
||
|
// DayUnlock.setDayUnlockVideoAllTime_fkwz(data)
|
||
|
|
||
|
}else if(keyName == 'levelNumArray'){
|
||
|
let array1 = keyValue.split(",");
|
||
|
let lDatas = []
|
||
|
for(let i = 0;i<array1.length;i++){
|
||
|
|
||
|
lDatas[lDatas.length] = Number(array1[i])
|
||
|
}
|
||
|
|
||
|
User.setLevelAryy_Cover(lDatas)
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|
||
|
|