private void OnC2SreadyBattle(Socket socket, C2SBattleCommand msg) { mReadyBattlePlayerList.Add(msg.PlayerId); if (mReadyBattlePlayerList.Count == 2) { S2CStartBattle data = new S2CStartBattle(); data.PlayerIdList.AddRange(mPlayerIDList.ToArray()); SocketServer.Instance.BroadcastMessage(ServiceNo.S2CstartBattle, data); } }
private void OnC2SenterRoom(Socket socket, C2SBattleCommand msg) { id++; mPlayerIDList.Add(id); S2CEnterRoom data = new S2CEnterRoom(); data.PlayerId = id; SocketServer.Instance.SendMessage(ServiceNo.S2CenterRoom, data, socket); }
private void OnC2SbattleCommand(Socket socket, C2SBattleCommand msg) { S2CBattleCommand data = new S2CBattleCommand(); data.TurnId = msg.TurnId; data.PlayerId = msg.PlayerId; data.Commands.AddRange(msg.Commands); Console.WriteLine(msg.PlayerId); SocketServer.Instance.BroadcastMessage(ServiceNo.S2CbattleCommand, data); }
public void SendCommand(int curTurn) { if (mCommandTurn == curTurn) { return; } mCommandTurn = curTurn + 2; //封装消息发送给别人 C2SBattleCommand packageData = new C2SBattleCommand(); packageData.TurnId = mCommandTurn; packageData.PlayerId = BattleManager.Instance.mPlayerID; if (mPendingCommandList.Count == 0) { NullCommand commandData = new NullCommand(); mPendingCommandList.Add(commandData); } for (int i = 0; i < mPendingCommandList.Count; i++) { BattleCommand commandData = new BattleCommand(); commandData.Type = mPendingCommandList[i].mCommandType; commandData.Data = ByteString.CopyFrom(Command.Serialize(mPendingCommandList[i])); packageData.Commands.Add(commandData); } NetworkManager.Instance.SendData(ServiceNo.C2SbattleCommand, packageData); //加入本地对应的回合 TurnData data; if (mTurnDataDic.TryGetValue(mCommandTurn, out data)) { data.AddCommand(BattleManager.Instance.mPlayerID, mPendingCommandList); } mPendingCommandList.Clear(); }