Esempio n. 1
0
    public void ExitTheRoom()
    {
        SoundManager.Instance.PlaySoundBGM("clickbutton");
        //判断如果只有房主,强制解散
        if (GlobalDataScript.Instance.roomInfo.tableOwnerUserID == GlobalDataScript.Instance.myGameRoomInfo.userID)
        {
            if (GlobalDataScript.Instance.roomInfo.PlayGameCount == 0)
            {
                //强制
                MyDebug.Log("=========================房主====================" + GlobalDataScript.Instance.roomInfo.tableOwnerUserID);
                CMD_GR_HostDissumeGame HostJ = new CMD_GR_HostDissumeGame();
                HostJ.dwUserID  = (uint)GlobalDataScript.Instance.myGameRoomInfo.userID;
                HostJ.dwTableID = (uint)GlobalDataScript.Instance.myGameRoomInfo.tableId;
                MyDebug.Log("=====================桌子 I D====================" + HostJ.dwTableID);
                MyDebug.Log("=====================桌子 I D====================" + HostJ.dwUserID);

                SocketSendManager.Instance.SendData((int)GameServer.MDM_GP_Cretate,
                                                    (int)MDM_GR_PRIVATE.SUB_GR_HOSTL_DISSUME_TABLE, NetUtil.StructToBytes(HostJ), Marshal.SizeOf(HostJ));
                MyDebug.Log("===============强制解散================" + HostJ);
            }
            else
            {
                //申请解散
                CMD_GR_CancelRequest CancelRequest = NetUtil.BytesToStruct <CMD_GR_CancelRequest>(send_buffer);
                CancelRequest.dwUserID  = GlobalDataScript.userData.dwUserID;
                CancelRequest.dwTableID = (uint)GlobalDataScript.Instance.myGameRoomInfo.tableId;
                CancelRequest.dwChairID = (uint)GlobalDataScript.Instance.myGameRoomInfo.chairId;
                SocketSendManager.Instance.SendData((int)GameServer.MDM_GP_Cretate,
                                                    (int)MDM_GR_PRIVATE.SUB_GR_CANCEL_REQUEST, NetUtil.StructToBytes(CancelRequest), Marshal.SizeOf(CancelRequest));
                SetMySelfDisslove();
            }
        }
        else
        {
            if (GlobalDataScript.Instance.roomInfo.PlayGameCount > 0)
            {
                CMD_GR_CancelRequest CancelRequest = NetUtil.BytesToStruct <CMD_GR_CancelRequest>(send_buffer);
                CancelRequest.dwUserID  = GlobalDataScript.userData.dwUserID;
                CancelRequest.dwTableID = (uint)GlobalDataScript.Instance.myGameRoomInfo.tableId;
                CancelRequest.dwChairID = (uint)GlobalDataScript.Instance.myGameRoomInfo.chairId;
                SocketSendManager.Instance.SendData((int)GameServer.MDM_GP_Cretate,
                                                    (int)MDM_GR_PRIVATE.SUB_GR_CANCEL_REQUEST, NetUtil.StructToBytes(CancelRequest), Marshal.SizeOf(CancelRequest));
                SetMySelfDisslove();
            }
            else
            {
                //自己退出--发送站立,退场景
                SocketSSSEvent.instance.isDisslove    = true;
                SocketNiuNiuEvent.instance.isDisslove = true;
                SocketSendManager.Instance.StandUp();
            }
        }

        CloseUI();
    }
Esempio n. 2
0
    //十三水
    public void SendCancelRoomPacket(int wTableID, int wChairID, int dwUserID)
    {
        CMD_GR_CancelRequest UserStandUp = new CMD_GR_CancelRequest
        {
            //构造数据
            dwTableID = (uint)wTableID,
            dwChairID = (uint)wChairID,
            dwUserID  = (uint)dwUserID,
        };

        //发送数据
        SendData((int)GameServer.MDM_GR_USER, (int)MDM_GR_PRIVATE.SUB_GR_CANCEL_REQUEST,
                 NetUtil.StructToBytes(UserStandUp), Marshal.SizeOf(UserStandUp));
    }
Esempio n. 3
0
    //申请解散房间者信息
    public void OnEventCancelRequest(byte[] buffer)
    {
        CMD_GR_CancelRequest cancelRequest = NetUtil.BytesToStruct <CMD_GR_CancelRequest>(buffer);

        SocketEventHandle.Instance.SetClientResponse(APIS.DISSOLIVE_ROOM_REQUEST, cancelRequest.dwUserID.ToString());
    }