public void PushButton(int pos) { if (last_click == -1) { last_click = pos; } else { if (last_click != pos && btnArry[last_click] == btnArry[pos]) { //传给mainlogic MsgGame msggame = new MsgGame(); msggame.userName = myClientName; msggame.cleanPair[0] = last_click; msggame.cleanPair[1] = pos; sendMsgEvent(msggame); btnArry[last_click] = -1; btnArry[pos] = -1; int ret = last_click; last_click = -1; // 调用绑定的事件 消除btn CleanBtnPair(ret, pos); // 再调用后续的处理逻辑 ClearAnPair(); //int[] r = new int[2] {ret, pos}; } else { last_click = pos; } } }
// // 判断接收的数据,如果是退出消息且是本客户端发送的退出消息, // 则返回true,表示应该结束这个接收线程 // public bool processMsg(Message msg) { // 这里客户端的接受服务器消息主要逻辑, // 为从服务器端发生的消息作出各种反应 try { switch (msg.msgType) { case MsgType.Sys: { //MsgSys sysMsg = (MsgSys)msg.msgContent; ProcessSysMsg(msg); } break; case MsgType.Game: { MsgGame gamMsg = (MsgGame)msg.msgContent; ProcessGamMsg(gamMsg); } break; } } catch (System.Exception ex) { MessageBox.Show("服务器没响应,休息一会吧~亲~"); Environment.Exit(0); } return(true); }
private void ProcessGamMsg(MsgGame gamMsg) { //获得其他玩家数据,根据username更新界面 for (int i = 0; i < otherPlayersLogic.Count; i++) { if (otherPlayersLogic[i].myClientName == gamMsg.userName && otherPlayersLogic[i].myClientName != null) { //更新指定玩家的界面 otherPlayersLogic[i].CleanBtnPair(gamMsg.cleanPair[0], gamMsg.cleanPair[1]); } } }
public void SendGameData(MsgGame msg)//发送游戏数据 { if (keepalive) { msg.tableIdx = this.tableIdx; msg.seatIdx = this.seatIdx; //msg.userName = myLogic.myClientName; Message sendMsg = new Message(msg); sendMsg.reciType = ReciveType.Room; sendMsg.Num = this.tableIdx; //MsgGame msg userSend(sendMsg); } }
public Message(MsgGame msg) : this() { msgType = MsgType.Game; msgContent = msg; }