51 lines
2.4 KiB
TypeScript
Raw Permalink Normal View History

2023-11-17 18:29:39 +08:00
import { GOnHookPets } from "../../../extensions/ngame/assets/ngame/message/proto";
import { app } from "../App";
import { PlayerPetOV, RData, RProto } from "./API";
import { GActionType } from "./GActionType";
2024-01-03 15:51:16 +08:00
export interface ModeHookInfo{
maps:{[key:number]:number}; //地图关卡信息 {地图Id: 地图关卡Id}
2024-01-19 02:42:37 +08:00
mapStates:{[key:number]:number}; //地图关卡状态 {地图Id: 战胜次数}
2024-01-03 15:51:16 +08:00
}
2023-12-02 02:13:22 +08:00
export interface ModeOnHookOV{
playerId:number; //玩家Id
onHookMap:number; //当前玩家所在的地图(配置表Id)
2023-12-23 19:00:53 +08:00
levelId:number; //当前关卡Id
2024-01-03 15:51:16 +08:00
hookInfo:ModeHookInfo; //关卡信息
2023-12-02 02:13:22 +08:00
}
2024-01-22 18:33:24 +08:00
export interface Dungeon{
dungeonId:number; //副本唯一Id
playerId:number; //副本玩家Id
dungeonCfgId:number; //副本配置表Id
dungeonCfgItemId:number; //副本进度表Id
}
2023-11-17 18:29:39 +08:00
export const GAPI = {
/************** 无限模式接口 ********************/
2023-12-02 02:13:22 +08:00
//获取模式信息
GOnHookInfo : async () => RData(await app.api.get(`/game/mode/onHook/info`)) as ModeOnHookOV,
2024-01-19 02:42:37 +08:00
//切换地图
GOnHookSetMap : async (mapId,saves:string[]) => RData(await app.api.post(`/game/mode/onHook/setMapId/${mapId}`,saves)) as ModeOnHookOV,
2023-11-17 18:29:39 +08:00
//生成野怪
2023-12-28 02:56:34 +08:00
GOnHookSpawnCreeps : async () => RProto(await app.api.get(`/game/mode/onHook/onSpawnCreeps`,{responseType:'arraybuffer'},false),GActionType.GOnHookPets) as GOnHookPets,
2023-11-17 18:29:39 +08:00
//捕捉野怪
2024-01-18 03:19:43 +08:00
GOnHookCatchCreeps : async (creepId) => RData(await app.api.post(`/game/mode/onHook/onCatchCreeps/${creepId}`),true) as boolean,
2023-11-20 03:47:00 +08:00
//出售野怪
2023-12-28 02:56:34 +08:00
GOnHookSellCreeps : async (creepId) => RData(await app.api.post(`/game/mode/onHook/onSellCreeps/${creepId}`),true) as boolean,
2023-12-23 19:00:53 +08:00
//下一关
2024-01-19 02:42:37 +08:00
GOnHookNextLevel : async (saves:string[]) => RData(await app.api.post(`/game/mode/onHook/nextLevel`,saves),true) as ModeOnHookOV,
2024-01-03 15:51:16 +08:00
//战胜当前关卡
2024-01-19 02:42:37 +08:00
GOnHookWinLevel : async () => RData(await app.api.post(`/game/mode/onHook/winLevel`),false) as ModeOnHookOV,
/*************** 副本接口 ***********************/
2024-01-22 18:33:24 +08:00
//获取副本信息
GDungeonGetInfo : async () => RData(await app.api.get(`/game/mode/dungeon/info`)) as {[key:string]:Dungeon},
2024-01-19 02:42:37 +08:00
//消耗钥匙挑战副本
2024-01-22 18:33:24 +08:00
GDungeonChallenge : async (dungeonId,dungeonItemId) => RData(await app.api.post(`/game/mode/dungeon/challenge/dungeon/${dungeonId}/${dungeonItemId}`),false) as {[key:string]:Dungeon},
2023-11-17 18:29:39 +08:00
}