/// <summary> /// 服务端接收到计算机系协议 /// </summary> /// <param name="msgBase"></param> public void ProcessComputerScience(MsgComputerScience msg) { int paiIndex = msg.paiIndex; //牌在这个玩家的索引 int id = msg.id; //出牌的玩家id doSkillTime[msg.id]++; msg.canSkill = doSkillTime[msg.id] < maxSkillTime[msg.id] ? true : false; Broadcast(msg); MsgChuPai msgChuPai = new MsgChuPai(); msgChuPai.id = msg.id; msgChuPai.paiIndex = msg.paiIndex; Broadcast(msgChuPai); if (paiIndex == -1) { //服务端执行胡的操作,清空数据,写入数据库等 Over(msg.id, false); return; } int paiId = paiManager.ChuPai(paiIndex, id); MsgFaPai msgFaPai = new MsgFaPai(); turn = (turn + 1) % 4; msgFaPai = ProcessMsgFaPai(msgFaPai); //广播 Broadcast(msgFaPai); }
public void LaunchComputerScience() { MsgComputerScience msg = new MsgComputerScience(); msg.id = id; msg.paiIndex = selectedPaiIndex; selectedPaiIndex = -1; NetManager.Send(msg); }
/// <summary> /// 处理计算机系的协议,就是增加一次使用完毕的技能,并对ui进行更新 /// </summary> /// <param name="msgBase"></param> public void OnMsgComputerScience(MsgBase msgBase) { MsgComputerScience msg = (MsgComputerScience)msgBase; if (msg.id == client_id) { skillCount--; gamePanel.RestSkillCount = skillCount; } }
public static void MsgComputerScience(ClientState c, MsgBase msgBase) { MsgComputerScience msg = (MsgComputerScience)msgBase; Player player = c.player; if (player == null) { return; } Room room = RoomManager.GetRoom(player.roomId); if (room == null) { return; } GameManager gameManager = room.gameManager; if (gameManager == null) { return; } gameManager.ProcessComputerScience(msg); }