import { WeChat } from "../Share/share"; import { GameTool } from "../Tool/GameTool"; const { ccclass, property } = cc._decorator; @ccclass('GameConfig') export class GameConfig { //所有控制信息都通过GameAppStart内控制 private static _instance : GameConfig = null; static GAME_DATA: any[]; //关卡数据 static LEVEL_INFO: { id: string; //难度id inside: number; //内圈答案个数 insideType: number; //内圈排列形式,1:一排,2:一列,3:随机 outside: number; //外圈答案种类个数,大于1时,填满其他图案 outsideType: number; //外圈排列形式,1:非四角,2:四角,3:随机 showTime: number; //显示时间 }[]; static CLICK_DATA: { type: number; //上传数据类型 success: boolean; //是否正确 round: number; //回合数轮次 duration: number; //本轮用时 rightChoiceOuter: any[]; //外部正确选项坐标 userChoiceOuter: any[]; //外部玩家选项坐标 rightChoiceInner: any[]; //内部正确选项坐标 userChoiceInner: any[]; }; static GUIDE_INFO: { id: string; //难度id inside: number; //内圈答案个数 insideType: number; //内圈排列形式,1:一排,2:一列,3:随机 outside: number; //外圈答案种类个数,大于1时,填满其他图案 outsideType: number; //外圈排列形式,1:非四角,2:四角,3:随机 showTime: number; }[]; static GM_INFO: { isCustom: boolean; //选择关卡模式 mean_Time: number; //平均放箭速度 total: number; //总共对的个数 currSeed: number; //用于随机数种子 gameId: string; //游戏ID userId: number; //用户ID guide: boolean; //是否有引导 url: string; //访问域名 success: boolean; //用户游戏成功与否 matchId: any; //用于埋点上传的ID custom: number; //用于测试跳关卡 round: number; //回合数 level: number; //具体游戏难度 guide_Level: number; //引导等级 startTime: number; //玩家第一步操作 random: number; //当前难度随机数 stepTimeList: number; //整局游戏用时,由于涉及场景切换,数据需要保留 successList: any[]; //整局胜负 fen: number; //小局得分 score: number; //总得分 igniteCount: number; //玩家总计成功点火数 min_Steps: number; //每次上一把最小步数 min_Time: number; //每一把上次距离洪峰到来时间 }; // static LEVEL_INFO: { // id: string; //地图ID // start: string[][]; //起始状态 // goal: string[][]; //目标状态 // middle: string[][][]; //中间状态 // steps: number; //最大步数 // }[]; //游戏内信息 static get Instance() { if (this._instance == null) { this._instance = new GameConfig(); } return this._instance; } //getSeedRandom static init(Authentication){ this.CLICK_init(); this.LEVEL_INFO_init(); this.GM_INFO_init(); var self = this; //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次 this.GAME_DATA = [ ] WeChat.setShare(location.href); if(!Authentication) self.Authentication(); } //数据备用 static GM_INFO_init() { this.GM_INFO = { isCustom: false, //选择关卡模式 mean_Time: 0, //平均放箭速度 total: 0, //总共对的个数 currSeed: 200000, //用于随机数种子 gameId: "100019", //游戏ID userId: 0, //用户ID guide: true, //是否有引导 url: "https://api.sparkus.cn",//访问域名 success: false, //用户游戏成功与否 matchId: null, //用于埋点上传的ID custom: 0, //用于测试跳关卡 round:0, //回合数 level: 0, //具体游戏难度 guide_Level:4, //引导等级 startTime:-1, //玩家第一步操作 random:0, //当前难度随机数 stepTimeList:0, //整局游戏用时,由于涉及场景切换,数据需要保留 successList:[], //整局胜负 fen:0, //小局得分 score:0, //总得分 igniteCount: 0, //玩家总计成功点火数 min_Steps:0, //每次上一把最小步数 min_Time:0 //每一把上次距离洪峰到来时间 }; } static GM_INFO_SET(key,value) { this.GM_INFO[key] = value; } static CLICK_init() { this.CLICK_DATA = { type: 1, //上传数据类型 success: false, //是否正确 round: 0, //回合数轮次 duration:0, //本轮用时 rightChoiceOuter:[],//外部正确选项坐标 userChoiceOuter:[], //外部玩家选项坐标 rightChoiceInner:[],//内部正确选项坐标 userChoiceInner:[], //内部玩家选项坐标 } } static CLICK_SET(key,value) { this.CLICK_DATA[key] = value; } static LEVEL_INFO_init() { this.LEVEL_INFO = [{ "id":"1", //难度id "inside":3, //内圈答案个数 "insideType":1, //内圈排列形式,1:一排,2:一列,3:随机 "outside":0, //外圈答案种类个数,大于1时,填满其他图案 "outsideType":1, //外圈排列形式,1:非四角,2:四角,3:随机 "showTime":1.2, //显示时间,秒为单位 }, { "id":"2", //难度id "inside":3, //内圈答案个数 "insideType":2, //内圈排列形式,1:一排,2:一列,3:随机 "outside":0, //外圈答案种类个数,大于1时,填满其他图案 "outsideType":1, //外圈排列形式,1:非四角,2:四角,3:随机 "showTime":1.2, //显示时间,秒为单位 }, { "id":"3", //难度id "inside":3, //内圈答案个数 "insideType":3, //内圈排列形式,1:一排,2:一列,3:随机 "outside":0, //外圈答案种类个数,大于1时,填满其他图案 "outsideType":1, //外圈排列形式,1:非四角,2:四角,3:随机 "showTime":1, //显示时间,秒为单位 }, { "id":"4", //难度id "inside":4, //内圈答案个数 "insideType":3, //内圈排列形式,1:一排,2:一列,3:随机 "outside":0, //外圈答案种类个数,大于1时,填满其他图案 "outsideType":1, //外圈排列形式,1:非四角,2:四角,3:随机 "showTime":1, //显示时间,秒为单位 }, { "id":"5", //难度id "inside":0, //内圈答案个数 "insideType":1, //内圈排列形式,1:一排,2:一列,3:随机 "outside":1, //外圈答案种类个数,大于1时,填满其他图案 "outsideType":1, //外圈排列形式,1:非四角,2:四角,3:随机 "showTime":0.9, //显示时间,秒为单位 }, { "id":"6", //难度id "inside":0, //内圈答案个数 "insideType":1, //内圈排列形式,1:一排,2:一列,3:随机 "outside":1, //外圈答案种类个数,大于1时,填满其他图案 "outsideType":2, //外圈排列形式,1:非四角,2:四角,3:随机 "showTime":0.9, //显示时间,秒为单位 }, { "id":"7", //难度id "inside":0, //内圈答案个数 "insideType":1, //内圈排列形式,1:一排,2:一列,3:随机 "outside":2, //外圈答案种类个数,大于1时,填满其他图案 "outsideType":1, //外圈排列形式,1:非四角,2:四角,3:随机 "showTime":1.2, //显示时间,秒为单位 }, { "id":"8", //难度id "inside":0, //内圈答案个数 "insideType":1, //内圈排列形式,1:一排,2:一列,3:随机 "outside":3, //外圈答案种类个数,大于1时,填满其他图案 "outsideType":2, //外圈排列形式,1:非四角,2:四角,3:随机 "showTime":1.2, //显示时间,秒为单位 }, { "id":"9", //难度id "inside":3, //内圈答案个数 "insideType":1, //内圈排列形式,1:一排,2:一列,3:随机 "outside":1, //外圈答案种类个数,大于1时,填满其他图案 "outsideType":1, //外圈排列形式,1:非四角,2:四角,3:随机 "showTime":1.2, //显示时间,秒为单位 }, { "id":"10", //难度id "inside":3, //内圈答案个数 "insideType":2, //内圈排列形式,1:一排,2:一列,3:随机 "outside":1, //外圈答案种类个数,大于1时,填满其他图案 "outsideType":2, //外圈排列形式,1:非四角,2:四角,3:随机 "showTime":1.2, //显示时间,秒为单位 }, { "id":"11", //难度id "inside":3, //内圈答案个数 "insideType":1, //内圈排列形式,1:一排,2:一列,3:随机 "outside":2, //外圈答案种类个数,大于1时,填满其他图案 "outsideType":1, //外圈排列形式,1:非四角,2:四角,3:随机 "showTime":1.8, //显示时间,秒为单位 }, { "id":"12", //难度id "inside":3, //内圈答案个数 "insideType":2, //内圈排列形式,1:一排,2:一列,3:随机 "outside":2, //外圈答案种类个数,大于1时,填满其他图案 "outsideType":2, //外圈排列形式,1:非四角,2:四角,3:随机 "showTime":1.8, //显示时间,秒为单位 }, { "id":"13", //难度id "inside":4, //内圈答案个数 "insideType":3, //内圈排列形式,1:一排,2:一列,3:随机 "outside":3, //外圈答案种类个数,大于1时,填满其他图案 "outsideType":3, //外圈排列形式,1:非四角,2:四角,3:随机 "showTime":1.8, //显示时间,秒为单位 }, { "id":"14", //难度id "inside":4, //内圈答案个数 "insideType":3, //内圈排列形式,1:一排,2:一列,3:随机 "outside":3, //外圈答案种类个数,大于1时,填满其他图案 "outsideType":3, //外圈排列形式,1:非四角,2:四角,3:随机 "showTime":1.8, //显示时间,秒为单位 }, { "id":"15", //难度id "inside":5, //内圈答案个数 "insideType":3, //内圈排列形式,1:一排,2:一列,3:随机 "outside":3, //外圈答案种类个数,大于1时,填满其他图案 "outsideType":3, //外圈排列形式,1:非四角,2:四角,3:随机 "showTime":1.5, //显示时间,秒为单位 }, { "id":"16", //难度id "inside":5, //内圈答案个数 "insideType":3, //内圈排列形式,1:一排,2:一列,3:随机 "outside":3, //外圈答案种类个数,大于1时,填满其他图案 "outsideType":3, //外圈排列形式,1:非四角,2:四角,3:随机 "showTime":1.5, //显示时间,秒为单位 } ] this.GUIDE_INFO =[ { "id":"1", //难度id "inside":3, //内圈答案个数 "insideType":1, //内圈排列形式,1:一排,2:一列,3:随机 "outside":0, //外圈答案种类个数,大于1时,填满其他图案 "outsideType":1, //外圈排列形式,1:非四角,2:四角,3:随机 "showTime":10000, //显示时间,秒为单位 }, { "id":"5", //难度id "inside":0, //内圈答案个数 "insideType":1, //内圈排列形式,1:一排,2:一列,3:随机 "outside":1, //外圈答案种类个数,大于1时,填满其他图案 "outsideType":1, //外圈排列形式,1:非四角,2:四角,3:随机 "showTime":10000, //显示时间,秒为单位 }, { "id":"7", //难度id "inside":0, //内圈答案个数 "insideType":1, //内圈排列形式,1:一排,2:一列,3:随机 "outside":2, //外圈答案种类个数,大于1时,填满其他图案 "outsideType":1, //外圈排列形式,1:非四角,2:四角,3:随机 "showTime":10000, //显示时间,秒为单位 }, ] // this.LEVEL_INFO = [{"id":"0001", //地图ID // "start":[['r'], ['b'], ['g']], //起始状态 // "goal":[[], ['r', 'g'], ['b']], //目标状态 // "middle":[[['b', 'r', 'g'], [], []], [['g'], ['b'], ['r']], [['r', 'b'], ['g'], []]],//中间状态 // "steps":17 //最大步数 // }]; // 0 12 3 // 312 0 0 2 3 1 13 2 0 // [2], [1], [3] // [[2, 1, 3], [], []] // [[], [2, 3], [1]] // [[1, 2], [], [3]] // [[[1], [2, 3], []], // [[1], [], [3, 2]]] } static Authentication(){ cc.fx.GameTool.Authentication(); } }