WaterControl/assets/Script/module/Config/GameConfig.ts
2024-07-12 17:38:10 +08:00

322 lines
11 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 CLICK_DATA: {
type: number; //上传数据类型
success: boolean; //此局游戏正确与否
round: number; //回合数
choice: number; //玩家选择0时间截止前未做选择123三个按钮从上到下依次对应
rightChoice: number; //本轮的按正确答案含义与choice相同
item: string; //此关展示的物品
roundType: number; //展示方式。1图像 2音频
stepTime: number; //玩家每一关用时毫秒数 音频关卡从播放结束开始计时
levelConfig: number; //使用的是哪一套关卡配置
ignite: boolean; //玩家此轮有没有点火
igniteCount: number; //玩家总计成功点火数
};
static GAME_DATA: any[];
//关卡数据
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; //用于测试跳关卡
level: number; //具体游戏内进行到第几步
stepTimeList: number; //整局游戏用时,由于涉及场景切换,数据需要保留
successList: any[]; //整局胜负
gameTime: number; //单次游戏倒计时时间
igniteCount: number; //玩家总计成功点火数
};
static LEVEL_INFO: { id: number; map: number[][]; }[][];
static CUSTOM_INFO: {
moveSpeed: number; //洪峰移动速度
waitTime: number; //洪峰冲击倒计时
fastPath: 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 //最短路径
}
]
}
//数据备用
static GM_INFO_init() {
this.GM_INFO = {
// isEnd: false,
mean_Time: 0, //平均放箭速度
total: 0, //总共对的个数
currSeed: 200000, //用于随机数种子
gameId: "100010", //游戏ID
userId: 200139, //用户ID
guide: true, //是否有引导
url: "https://api.sparkus.cn",//访问域名
success: false, //用户游戏成功与否
matchId: null, //用于埋点上传的ID
custom: 0, //用于测试跳关卡
level: 0, //具体游戏内进行到第几步
stepTimeList:0, //整局游戏用时,由于涉及场景切换,数据需要保留
successList:[], //整局胜负
gameTime:5,
igniteCount: 0, //玩家总计成功点火数
};
}
static GM_INFO_SET(key,value) {
this.GM_INFO[key] = value;
}
static CLICK_init() {
this.CLICK_DATA =
{
type: 1, //上传数据类型
success: false, //此局游戏正确与否
round: 0, //回合数
choice: 0, //玩家选择0时间截止前未做选择123三个按钮从上到下依次对应
rightChoice: 0, //本轮的按正确答案含义与choice相同
item: "", //此关展示的物品
roundType: 0, //展示方式。1图像 2音频
stepTime: 0, //玩家每一关用时毫秒数 音频关卡从播放结束开始计时
levelConfig: 0, //使用的是哪一套关卡配置
ignite: false, //玩家此轮有没有点火
igniteCount: 0, //玩家总计成功点火数
}
}
static CLICK_SET(key,value) {
this.CLICK_DATA[key] = value;
}
static LEVEL_INFO_init() {
/*
moveSpeed: 0, //洪峰移动速度
waitTime: 20, //洪峰冲击倒计时
fastPath: 5 //最短路径
*/
this.LEVEL_INFO = [
[
{
"id": 1001,
"map": [
[0,0,0,4],
[0,0,0,0],
[0,0,0,0],
[0,1,0,0]
]
},
{
"id": 1002,
"map": [
[1,0,1,1],
[1,1,1,1],
[1,1,1,1],
[1,1,1,6]
]
},
{
"id": 1003,
"map": [
[1,0,1,1],
[1,1,1,1],
[1,1,1,1],
[1,1,1,6]
]
},
{
"id": 1004,
"map": [
[1,0,1,1],
[1,1,1,1],
[1,1,1,1],
[1,1,1,6]
]
},
{
"id": 1005,
"map": [
[1,0,1,1],
[1,1,1,1],
[1,1,1,1],
[1,1,1,6]
]
},
{
"id": 1006,
"map": [
[1,0,1,1],
[1,1,1,1],
[1,1,1,1],
[1,1,1,6]
]
},
{
"id": 1007,
"map": [
[1,0,1,1],
[1,1,1,1],
[1,1,1,1],
[1,1,1,6]
]
},
{
"id": 1008,
"map": [
[1,0,1,1],
[1,1,1,1],
[1,1,1,1],
[1,1,1,6]
]
},
{
"id": 1009,
"map": [
[1,0,1,1],
[1,1,1,1],
[1,1,1,1],
[1,1,1,6]
]
},
{
"id": 1010,
"map": [
[1,0,1,1],
[1,1,1,1],
[1,1,1,1],
[1,1,1,6]
]
}
],
]
}
static Authentication(){
cc.fx.GameTool.Authentication();
}
}