DESKTOP-5RP3AKU\Jisol 7389f6d716 无头模式测试
2023-11-22 03:51:37 +08:00

69 lines
2.1 KiB
TypeScript

import { JNSyncFrameEvent } from "../../../extensions/ngame/assets/ngame/sync/frame/JNSyncFrame";
import { app } from "../App";
import { Env, EnvCurrent } from "../Env";
import GBattleModeManager, { BattleMode } from "../battle/GBattleModeManager";
import { GAction } from "../consts/GAction";
import { GActionType } from "../consts/GActionType";
import { GUI } from "../ui/UIConfig";
import BaseAction from "./BaseAction";
export interface GPVPStart{
leftTactical:string; //左边玩家的阵法
leftPets:{[key:number]:string}; //左边玩家的宠物
rightTactical:string; //右边玩家的阵法
rightPets:{[key:number]:string}; //左边玩家的宠物
}
export interface GPVPText{
text:string
}
export default class PVPAction extends BaseAction {
onInit(){
app.socket.on(GAction.C_MODE_PVP_START_WAIT,this.onModePVPStartWait,this);
app.socket.on(GAction.C_MODE_PVP_END_WAIT,this.onModePVPEndWait,this);
app.socket.on(GAction.C_MODE_PVP_START,this.onModePVPStart,this,GActionType.GPVPStart);
app.socket.on(GAction.C_MODE_PVP_MESSAGE,this.onModePVPMessage,this,GActionType.GPVPText);
if(EnvCurrent == Env.Server){
app.socket.on(GAction.CR_REFEREE_PVP_MODE,this.onCrReferee,this,GActionType.GPVPStart); //监听PVP裁决
}
}
//PVP开始等待
onModePVPStartWait(){
//PVP 匹配页面
app.layer.Open(GUI.PVPModeMatchView);
}
//PVP结束等待
onModePVPEndWait(){
//PVP 匹配页面
app.layer.Close(GUI.PVPModeMatchView);
}
//开始PVP
onModePVPStart(info:GPVPStart){
console.log("开始PVP",info);
GBattleModeManager.getIns().Open(BattleMode.PVP,true,info);
}
//裁决运行
onCrReferee(info:GPVPStart){
console.log("开始PVP裁决",info);
GBattleModeManager.getIns().Open(BattleMode.PVP,false,info);
GBattleModeManager.getIns().setAuto(true,true);
}
//提示
onModePVPMessage(info:GPVPText){
console.log("提示PVP",info);
app.layer.Open(GUI.Tips,{text:info.text})
}
}