public void Update() { if (status != Status.FIGHT) { return; } if (NetManager.GetTimeStamp() - lastJudgeTime < 1f) { return; } lastJudgeTime = NetManager.GetTimeStamp(); int winCamp = Judgment(); if (winCamp == 0) { return; } status = Status.READY; MsgBattleResult msg = new MsgBattleResult { winCamp = winCamp }; Broadcast(msg); }
private static void OnMsgBattleResult(MsgBase msgBase) { MsgBattleResult msg = (MsgBattleResult)msgBase; bool isWin = false; BaseTank tank = GetCtrlTank(); if (tank != null && tank.camp == msg.winCamp) { isWin = true; } PanelManager.Open <ResultPanel>(isWin); }
//收到战斗结束协议 public static void OnMsgBattleResult(MsgBase msgBase) { MsgBattleResult msg = (MsgBattleResult)msgBase; //判断显示胜利还是失败 bool isWin = false; BaseTank tank = GetCtrlTank(); if (tank != null && tank.camp == msg.winCamp) { isWin = true; } //显示界面 PanelManager.Open <ResultPanel>(isWin); //关闭界面 PanelManager.Close("AimPanel"); }
//定时更新 public void Update() { //状态判断 if (status != Status.FIGHT) { return; } //时间判断 if (NetManager.GetTimeStamp() - lastjudgeTime < 10f) { return; } lastjudgeTime = NetManager.GetTimeStamp(); //胜负判断 int winCamp = Judgment(); //尚未分出胜负 if (winCamp == 0) { return; } //某一方胜利,结束战斗 status = Status.PREPARE; //统计信息 foreach (string id in playerIds.Keys) { Player player = PlayerManager.GetPlayer(id); if (player.camp == winCamp) { player.data.win++; } else { player.data.lost++; } } //发送Result MsgBattleResult msg = new MsgBattleResult(); msg.winCamp = winCamp; Broadcast(msg); }