London/assets/Script/module/Config/GameConfig.ts
2024-08-28 11:14:05 +08:00

278 lines
10 KiB
TypeScript
Raw 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 CUSTOM_INFO: {
moveSpeed: number; //洪峰移动速度
waitTime: number; //洪峰冲击倒计时
fastPath: number; //最短路径
}[];
static TIME_INFO: {
waterSpeed: number[]; //洪峰速度
totalTime: number; //游戏总时长
waterTime: number[]; //洪峰来的倒计时
roadSpeed: number; //河道修筑速度
ReinforceSpeed: number; //加固时间速度
Xi_SoilSpeed: number;
};
//用于盛放埋点数据上传,每次上传后清空
static CLICK_DATA: {
type: number; //上传数据类型
success: boolean; //此局游戏正确与否
round: number; //回合数轮次
getScore: number; //本轮得分失败为0分
cumulativeScore: number; //本剧游戏总计得分
mapId: string; //地图ID
difficulty: number; //地图难度
optimizedSteps: number; //关卡最短步数
usedSteps: number; //玩家修建总步数
stepList: any[]; //U、D、L、R X 息壤 F 加固
startTime: number; //从游戏开始到玩家操作的第一步截止时间 单位毫秒
submitTime: number; //从第一步操作到提交时间,如果未提交为-1 单位毫秒
duration: number; //游戏总用时(截止到提交) 单位毫秒
drawingBack: number; //后退次数
drawingReset: number; //清空次数
timer: number; //游戏倒计时剩余时长 秒
};
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; //用于测试跳关卡
round: number; //回合数
level: 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;
// cc.resources.load('Json/CLICK_DATA', (err: any, res: cc.JsonAsset) => {
// if (err) {
// return;
// }
// let jsonData: object = res.json!;
// self.CLICK_DATA = jsonData["data"];
// })
// cc.resources.load('Json/LEVEL_INFO', (err: any, res: cc.JsonAsset) => {
// if (err) {
// return;
// }
// let jsonData: object = res.json!;
// self.LEVEL_INFO = jsonData["data"];
// })
// cc.resources.load('Json/GM_INFO', (err: any, res: cc.JsonAsset) => {
// if (err) {
// if(!Authentication) self.Authentication();
// return;
// }
// let jsonData: object = res.json!;
// self.GM_INFO = jsonData["data"];
// cc.fx.GameTool.getCustom(false);
// if(!Authentication) self.Authentication();
// })
//GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次
this.GAME_DATA = [
]
this.CUSTOM_INFO = [
//第一难度
{
moveSpeed: 0, //洪峰移动速度
waitTime: 20, //洪峰冲击倒计时
fastPath: 5 //最短路径
},
//第二难度
{
moveSpeed: 0, //洪峰移动速度
waitTime: 20, //洪峰冲击倒计时
fastPath: 5 //最短路径
},
//第三难度
{
moveSpeed: 0, //洪峰移动速度
waitTime: 20, //洪峰冲击倒计时
fastPath: 5 //最短路径
},
//第四难度
{
moveSpeed: 0, //洪峰移动速度
waitTime: 20, //洪峰冲击倒计时
fastPath: 5 //最短路径
},
//第五难度
{
moveSpeed: 0, //洪峰移动速度
waitTime: 20, //洪峰冲击倒计时
fastPath: 5 //最短路径
},
//第六难度
{
moveSpeed: 0, //洪峰移动速度
waitTime: 20, //洪峰冲击倒计时
fastPath: 5 //最短路径
},
//第七难度
{
moveSpeed: 0, //洪峰移动速度
waitTime: 20, //洪峰冲击倒计时
fastPath: 5 //最短路径
},
//第八难度
{
moveSpeed: 0, //洪峰移动速度
waitTime: 20, //洪峰冲击倒计时
fastPath: 5 //最短路径
},
//第九难度
{
moveSpeed: 0, //洪峰移动速度
waitTime: 20, //洪峰冲击倒计时
fastPath: 5 //最短路径
},
//第十难度
{
moveSpeed: 0, //洪峰移动速度
waitTime: 20, //洪峰冲击倒计时
fastPath: 5 //最短路径
}
]
WeChat.setShare(location.href);
if(!Authentication) self.Authentication();
}
//数据备用
static GM_INFO_init() {
this.GM_INFO = {
// isEnd: false,
mean_Time: 0, //平均放箭速度
total: 0, //总共对的个数
currSeed: 200000, //用于随机数种子
gameId: "100012", //游戏ID
userId: 0, //用户ID
guide: false, //是否有引导
url: "https://api.sparkus.cn",//访问域名
success: false, //用户游戏成功与否
matchId: null, //用于埋点上传的ID
custom: 0, //用于测试跳关卡
round:0, //回合数
level: 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, //回合数轮次
getScore: 0, //本轮得分失败为0分
cumulativeScore: 0, //本剧游戏总计得分
mapId: "", //地图ID
difficulty: 0, //地图难度
optimizedSteps: 0, //关卡最短步数
usedSteps: 0, //玩家修建总步数
stepList: [], //U、D、L、R X 息壤 F 加固
startTime:-1, //从游戏开始到玩家操作的第一步截止时间 单位毫秒
submitTime:-1, //从第一步操作到提交时间,如果未提交为-1 单位毫秒
duration:0, //游戏总用时(截止到提交) 单位毫秒 如果未他移交则为时间上限
drawingBack:0, //后退次数
drawingReset:0, //清空次数
timer: 0, //测评倒计时剩余时间 去秒
}
}
static CLICK_SET(key,value) {
this.CLICK_DATA[key] = value;
}
static LEVEL_INFO_init() {
this.TIME_INFO = {
waterSpeed:[0.3,0.25,0.2,0.18,0.16,0.14,0.12,0.1], //洪峰速度
totalTime: 20, //游戏总时长
waterTime:[10,12,14,16,18,20,20,20], //洪峰来的倒计时
roadSpeed:0.2, //河道修筑速度
ReinforceSpeed:0.2, //加固时间速度
Xi_SoilSpeed:0.2, //息壤时间速度
}
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
}
static Authentication(){
cc.fx.GameTool.Authentication();
}
}