Exemple #1
0
        public void ExecuteCommand(GameSession session, ProtobufRequestInfo requestInfo)
        {
            if (!Gongyong.userlist.Any(w => w.session.SessionID.Equals(session.SessionID)))
            {
                session.Logger.Debug("UserRemove : 非法连接");
                session.Close();
                return;
            }
            var    getdata = SendRemove.ParseFrom(requestInfo.Body);
            mjuser usermj  = Gongyong.mulist.Find(u => u.Openid == getdata.Openid);

            //判断是否存在该玩家
            if (usermj == null)
            {
                return;
            }
            if (usermj.IsHomeowner)    //如果是房主则不能是退出房间,而应该是解散牌桌
            {
                session.Logger.Debug("房主请求退出");
                return;
            }


            new UserExitLogic().UserExit(usermj, getdata.RoomID, getdata.Openid, requestInfo.MessageNum, session);
        }
Exemple #2
0
    /// <summary>
    ///发送请求退出房间
    /// </summary>
    public void SendQuitMessage()
    {
        //SendRemove quitRequire = SendRemove.CreateBuilder()
        // .SetOpenid(GameInfo.OpenID)
        // .SetRoomID(GameInfo.room_id)
        // .SetUnionid(GameInfo.unionid)
        // .Build();
        //byte[] body = quitRequire.ToByteArray();

        SendRemove quitRequire = new SendRemove();

        quitRequire.openid  = GameInfo.OpenID;
        quitRequire.RoomID  = GameInfo.room_id;
        quitRequire.unionid = GameInfo.unionid;
        byte[] body = ProtobufUtility.GetByteFromProtoBuf(quitRequire);
        byte[] data = CreateHead.CreateMessage(CreateHead.CSXYNUM + 5008, body.Length, 0, body);
        GameInfo.cs.Send(data);
    }
Exemple #3
0
    /// <summary>
    /// warningPanel显示以后,点击是,则发送请求开始游戏。点击否,就发送推出消息
    /// </summary>
    void OnNoButtonClick()
    {///用户请求退出房间 +5008
        //    message SendRemove{
        //        required string openid = 1;//用户openid
        //        required int32 RoomID = 2;//房间号
        //    }
        //    ///服务端返回退出玩家 +5009(未接受到则为客服端判断错误)
        //    message ReturnRemoveUser{
        //        required string openid = 1;//退出的用户ID

        //    }

        //var mp = SendRemove.CreateBuilder().SetOpenid(GameInfo.OpenID).SetRoomID(GameInfo.room_id).Build();
        //byte[] body = mp.ToByteArray();

        SendRemove mp = new SendRemove();

        mp.openid = GameInfo.OpenID;
        mp.RoomID = GameInfo.room_id;
        byte[] body = ProtobufUtility.GetByteFromProtoBuf(mp);
        byte[] data = CreateHead.CreateMessage(CreateHead.CSXYNUM + 5008, body.Length, 0, body);

        GameInfo.cs.Send(data);
    }