Beispiel #1
0
        /// <summary>
        /// 抢地主处理
        /// </summary>
        private void GrabLandLord(ClientPeer client, bool result)
        {
            SingleExecute.Instance.Execute(
                delegate()
            {
                if (user.IsOnLine(client) == false)
                {
                    return;
                }

                int userId     = user.GetIdByClient(client);
                FightRoom room = fight.GetRoomByUid(userId);
                if (result == true)
                {
                    //抢
                    room.SetLandlord(userId);
                    GrabDto grab = new GrabDto(userId, room.TableCardList, room.GetPlayerCard(userId));
                    //广播  谁是地主  三张底牌
                    Brocast(room, OpCode.FIGHT, FightCode.GRAB_LANDLORD_BRO, grab);
                    //发送一个出牌的命令
                    Brocast(room, OpCode.FIGHT, FightCode.TURN_DEAL_BRO, userId);
                }
                else
                {
                    //不抢
                    int nextUid = room.GetNextUid(userId);
                    Brocast(room, OpCode.FIGHT, FightCode.TURN_GRAB__BRO, nextUid);
                }
            });
        }