LockDiagram/assets/Script/module/Config/GameConfig.ts
2024-10-30 15:21:35 +08:00

336 lines
15 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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();
}
}