上传战斗服衔接代码

This commit is contained in:
liwei1dao 2024-02-02 19:58:35 +08:00
parent 56c554b0b5
commit 68a4fc5008

View File

@ -78,8 +78,53 @@ namespace BattleServer
// Console.WriteLine("接收到战斗消息 4 |{0}",ts);
socket.Send(_msg);
break;
case "GetInfo": //创建战斗场景
// Console.WriteLine("处理GetInfoPVP !");
case "Run": //运行战斗
BattleRunReq runreq = ProtoDeSerialize<BattleRunReq>(msg.data.value);
BattleReport[] reports = new BattleReport[runreq.info.Count];
for (int i = 0; i < runreq.info.Count; i++)
{
var respaction = () =>
{
bool isfinsh = true;
for (int i = 0; i < reports.Length; i++)
{
if (reports[i] == null)
{
isfinsh = false;
}
}
if (isfinsh)
{
msg.data = new Google.Protobuf.WellKnownTypes.Any
{
type_url = "type.googleapis.com/BattleRunResp",
value = ProtoSerialize(new BattleRunResp { reports = reports.ToList() }),
};
_msg = ProtoSerialize(msg);
socket.Send(_msg);
}
};
HotUpdateScripts.FightRunnerMgr.Instance.RunOnceFight(runreq.info[i], (issucc) =>
{
int index = i;
reports[index] = new BattleReport()
{
info = runreq.info[index],
winSide = 2,
};
respaction();
}, (report) =>
{
int index = i;
reports[index] = report;
respaction();
});
}
break;
case "GetInfo": //获取战斗场景
// Console.WriteLine("处理GetInfoPVP !");
BattleGetInfoReq req = ProtoDeSerialize<BattleGetInfoReq>(msg.data.value);
BattleStateInfo info = HotUpdateScripts.FightRunnerMgr.Instance.GetPvpStateInfo(req.battleid);
msg.data = new Google.Protobuf.WellKnownTypes.Any
@ -92,7 +137,7 @@ namespace BattleServer
// Console.WriteLine("处理GetInfo end !");
break;
case "Create": //创建战斗场景
// Console.WriteLine("处理CreatePVP !");
// Console.WriteLine("处理CreatePVP !");
BattleCreateServerReq CreateReq = ProtoDeSerialize<BattleCreateServerReq>(msg.data.value);
HotUpdateScripts.FightRunnerMgr.Instance.StartPvp(CreateReq.info, this.OnOutCmd, this.OnFinish, (issucc) =>
{
@ -107,7 +152,7 @@ namespace BattleServer
});
break;
case "InCmd": //向战斗场景输入指令
// Console.WriteLine("处理InCmd !");
// Console.WriteLine("处理InCmd !");
BattleInCmdReq InCmdReq = ProtoDeSerialize<BattleInCmdReq>(msg.data.value);
HotUpdateScripts.FightRunnerMgr.Instance.PvpInput(InCmdReq.battleid, InCmdReq.side, InCmdReq.@in, (issucc) =>
{
@ -124,7 +169,7 @@ namespace BattleServer
break;
case "Concede": //向战斗场景输入指令
// Console.WriteLine("处理 Concede !");
// Console.WriteLine("处理 Concede !");
BattleConcedeReq ConcedeReq = ProtoDeSerialize<BattleConcedeReq>(msg.data.value);
HotUpdateScripts.FightRunnerMgr.Instance.InitiativeFail(ConcedeReq.battleid, ConcedeReq.side, (issucc) =>
{