62 lines
1.6 KiB
TypeScript
Raw Normal View History

2023-12-03 03:31:19 +08:00
import { app } from "../App";
2024-01-11 02:46:36 +08:00
import GBattleData, { GBattleDataInfo } from "../battle/base/values/GAttributeData";
2023-12-03 03:31:19 +08:00
import { API } from "../consts/API";
2023-12-02 02:13:22 +08:00
import { GAPI, ModeOnHookOV } from "../consts/GAPI";
2024-01-19 02:42:37 +08:00
import GOnHookManager from "../manager/battle/mode/GOnHookManager";
2023-12-03 03:31:19 +08:00
import { GUI } from "../ui/UIConfig";
2023-12-02 02:13:22 +08:00
import BaseData from "./BaseData";
2024-01-03 15:51:16 +08:00
export enum GOnHookDataEnum{
2024-01-11 02:46:36 +08:00
UPDATE = "GOnHookDataEnum_UPDATE", //刷新信息
2024-01-03 15:51:16 +08:00
}
2023-12-02 02:13:22 +08:00
//无限模式数据类
export default class GOnHookData extends BaseData{
info:ModeOnHookOV;
2024-01-03 15:51:16 +08:00
//是否允许下一关
get isNextLevel(){
if(!this.info) return false;
2024-01-19 02:42:37 +08:00
return this.info.hookInfo.mapStates[this.info.onHookMap] >= 4;
2024-01-03 15:51:16 +08:00
}
2023-12-02 02:13:22 +08:00
async onInit() {
2023-12-25 02:06:56 +08:00
await this.onUpdateInfo();
2023-12-02 02:13:22 +08:00
console.log("GOnHookData Info",this.info);
2024-01-11 02:46:36 +08:00
2023-12-02 02:13:22 +08:00
}
2023-12-25 02:06:56 +08:00
//刷新数据
2024-01-03 15:51:16 +08:00
async onUpdateInfo(info?){
this.info = info || await GAPI.GOnHookInfo();
app.event.emit(GOnHookDataEnum.UPDATE);
2023-12-25 02:06:56 +08:00
}
2023-12-03 03:31:19 +08:00
//切换地图
async setMap(mapId:number){
2024-01-19 02:42:37 +08:00
this.info = await GAPI.GOnHookSetMap(mapId,GOnHookManager.getIns().getKillSreepsIds());
2023-12-03 03:31:19 +08:00
app.layer.Open(GUI.Tips,{text:"切换地图成功"});
}
2023-12-25 02:06:56 +08:00
//下一关
async onNextLevel(){
2024-01-19 02:42:37 +08:00
let info = await GAPI.GOnHookNextLevel(GOnHookManager.getIns().getKillSreepsIds());
this.onUpdateInfo(info);
2024-01-03 15:51:16 +08:00
}
//战胜当前关卡
async onWinLevel(){
2024-01-19 02:42:37 +08:00
this.onUpdateInfo(await GAPI.GOnHookWinLevel())
}
//返回当前进度
getProgress(){
return this.info.hookInfo.mapStates[this.info.onHookMap] || 0
2023-12-25 02:06:56 +08:00
}
2023-12-02 02:13:22 +08:00
}