const { ccclass, property } = cc._decorator; @ccclass('GameConfig') export class GameConfig { //所有控制信息都通过GameAppStart内控制 private static _instance : GameConfig = null; //用于盛放埋点数据上传,每次上传后清空 static GM_INFO: { // isEnd: false, mean_Time: number; //平均放箭速度 total: number; //总共对的个数 currSeed: number; //用于随机数种子 gameId: string; //游戏ID userId: number; //用户ID guide: boolean; //是否有引导 url: string; //访问域名 success: boolean; //用户游戏成功与否 matchId: any; //用于埋点上传的ID custom: number; //用于测试跳关卡 }; static CLICK_DATA: { type: number; //上传数据类型 success: boolean; //此局游戏胜负 round: number; //回合数 totalSunCount: number; //太阳总数 movedSunCount: number; //可移动太阳个数 sunSpeed: number; //太阳移动速度 overlapSunCount: number; //重叠太阳个数 colorList: any[]; //太阳颜色数组 duration: number; //每次点击的反应时间 difficultyLevel: number; //此次难度 sunList: any[]; //太阳数组,用于存放太阳类型 0:普通 1:移动 2:重叠 stepTimeList: any[]; //每次点击间隔 remainder: number; //游戏剩余时间 }; static LEVEL_INFO: { //第一难度 number: number; //太阳总数 moveNumber: number; //太阳可移动个数 moveSpeed: number; //太阳移动速度等级 maxDistance: number; //布局后移动最大距离 maxMove: number; //每个太阳之间距离最大间距 repeat: number; //是否重叠,现在0 不重叠 1 重叠1个 }[]; static GAME_DATA: any[]; static get Instance() { if (this._instance == null) { this._instance = new GameConfig(); } return this._instance; } static init(){ cc.resources.load('Json/GM_INFO', (err: any, res: cc.JsonAsset) => { if (err) { this.GM_INFO_init(); this.Authentication(); return; } let jsonData: object = res.json!; this.GM_INFO = jsonData["data"]; this.Authentication(); }) cc.resources.load('Json/CLICK_DATA', (err: any, res: cc.JsonAsset) => { if (err) { this.CLICK_init(); return; } let jsonData: object = res.json!; this.CLICK_DATA = jsonData["data"]; }) cc.resources.load('Json/LEVEL_INFO', (err: any, res: cc.JsonAsset) => { if (err) { this.LEVEL_INFO_init(); return; } let jsonData: object = res.json!; this.LEVEL_INFO = jsonData["data"]; }) //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次 this.GAME_DATA = [ ] } //数据备用 static GM_INFO_init() { this.GM_INFO = { // isEnd: false, mean_Time: 0, //平均放箭速度 total: 0, //总共对的个数 currSeed: 203213, //用于随机数种子 gameId: '100009', //游戏ID userId: 0, //用户ID guide: true, //是否有引导 url: "http://api.sparkus.cn",//访问域名 success: false, //用户游戏成功与否 matchId: null, //用于埋点上传的ID custom: 0 //用于测试跳关卡 }; } static CLICK_init() { this.CLICK_DATA = { type: 1, //上传数据类型 success: false, //此局游戏胜负 round: 0, //回合数 totalSunCount: 0, //太阳总数 movedSunCount: 0, //可移动太阳个数 sunSpeed: 0, //太阳移动速度 overlapSunCount: 0, //重叠太阳个数 colorList: [], //太阳颜色数组 duration: 0, //每次点击的反应时间 difficultyLevel: 0, //此次难度 sunList: [], //太阳数组,用于存放太阳类型 0:普通 1:移动 2:重叠 stepTimeList: [], //每次点击间隔 remainder: 120 //游戏剩余时间 } } static LEVEL_INFO_init() { this.LEVEL_INFO = [ { //第一难度 number: 3, //太阳总数 moveNumber: 0, //太阳可移动个数 moveSpeed: 0, //太阳移动速度等级 maxDistance: 200, //布局后移动最大距离 maxMove: 1200, //每个太阳之间距离最大间距 repeat: 0 //是否重叠,现在0 不重叠 1 重叠1个 }, { //第二难度 number: 4, moveNumber: 0, moveSpeed: 0, maxDistance: 200, maxMove: 1200, repeat: 0 }, { //第三难度 number: 4, moveNumber: 0, moveSpeed: 0, maxDistance: 200, maxMove: 1200, repeat: 1 }, { //第四难度 number: 5, moveNumber: 1, moveSpeed: 6, maxDistance: 200, maxMove: 1200, repeat: 0 }, { //第五难度 number: 5, moveNumber: 0, moveSpeed: 6, maxDistance: 200, maxMove: 1200, repeat: 1 }, { //第六难度 number: 6, moveNumber: 0, moveSpeed: 6, maxDistance: 200, maxMove: 1200, repeat: 1 }, { //第七难度 number: 6, moveNumber: 3, moveSpeed: 4, maxDistance: 200, maxMove: 1200, repeat: 0 }, { //第八难度 number: 7, moveNumber: 0, moveSpeed: 4, maxDistance: 200, maxMove: 1200, repeat: 0 }, { //第九难度 number: 7, moveNumber: 3, moveSpeed: 4, maxDistance: 200, maxMove: 1200, repeat: 0 }, { //第十难度 number: 7, moveNumber: 3, moveSpeed: 6, maxDistance: 200, maxMove: 1200, repeat: 1 }, { //第十一难度 number: 8, moveNumber: 3, moveSpeed: 6, maxDistance: 200, maxMove: 1200, repeat: 0 }, { //第十二难度 number: 8, moveNumber: 5, moveSpeed: 6, maxDistance: 200, maxMove: 1200, repeat: 1 }, { //第十三难度 number: 9, moveNumber: 3, moveSpeed: 6, maxDistance: 200, maxMove: 1200, repeat: 0 }, { //第十四难度 number: 9, moveNumber: 5, moveSpeed: 6, maxDistance: 200, maxMove: 1200, repeat: 1 }, { //第十五难度 number: 10, moveNumber: 5, moveSpeed: 6, maxDistance: 200, maxMove: 1200, repeat: 1 }, { //11 number: 3, moveNumber: 0, moveSpeed: 6, maxDistance: 200, maxMove: 1200, repeat: 0 }, { //12 number: 4, moveNumber: 0, moveSpeed: 0, maxDistance: 200, maxMove: 1200, repeat: 0 }, { //13 number: 4, moveNumber: 1, moveSpeed: 6, maxDistance: 200, maxMove: 1200, repeat: 0 }, { //14 number: 4, moveNumber: 0, moveSpeed: 6, maxDistance: 200, maxMove: 1200, repeat: 1 }, { //15 number: 4, moveNumber: 1, moveSpeed: 6, maxDistance: 200, maxMove: 1200, repeat: 1 }, { //16 number: 5, moveNumber: 1, moveSpeed: 6, maxDistance: 200, maxMove: 1200, repeat: 0 }, { //17 number: 5, moveNumber: 0, moveSpeed: 6, maxDistance: 200, maxMove: 1200, repeat: 1 }, { //18 number: 5, moveNumber: 1, moveSpeed: 6, maxDistance: 200, maxMove: 1200, repeat: 1 }, { //19 number: 5, moveNumber: 2, moveSpeed: 6, maxDistance: 200, maxMove: 1200, repeat: 1 }, { //20 number: 5, moveNumber: 3, moveSpeed: 6, maxDistance: 200, maxMove: 1200, repeat: 1 } ] } static Authentication(){ cc.fx.GameTool.Authentication(); } }