336 lines
15 KiB
TypeScript
336 lines
15 KiB
TypeScript
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();
|
||
}
|
||
}
|
||
|