Esempio n. 1
0
    /// <summary>
    /// 服务器广播有人请求解散房间
    /// </summary>
    /// <param name="obj"></param>
    private void OnServerBroadcastApplyDisband(byte[] obj)
    {
        Debug.Log("有人发起解散房间");

        NN_ROOM_ASK_DISMISS proto = NN_ROOM_ASK_DISMISS.decode(obj);

        if (!proto.hasPos())
        {
            return;
        }
        //判断是否是自己发起
        if (proto.pos != RoomNiuNiuProxy.Instance.PlayerSeat.Pos)
        {
            //倒计时??
            UIViewManager.Instance.ShowMessage("提示", "有人发起解散房间,是否同意", MessageViewType.OkAndCancel, ClientSendAgreeDisbandRoom, ClientSendRefuseDisbandRoom, 5f);
            RoomNiuNiuProxy.Instance.SetApplicationDissolution(proto);
        }
        else if (proto.pos == RoomNiuNiuProxy.Instance.PlayerSeat.Pos)
        {
            Debug.Log("发起人为自己");
            //说明是自己申请解散
            //加载提示同意人数窗口
            RoomNiuNiuProxy.Instance.SetApplicationDissolution(proto);
            LoadDisbandSumView(RoomNiuNiuProxy.Instance.agreeDissolveCount, RoomNiuNiuProxy.Instance.CurrentRoom.serverTime);
        }

        RoomNiuNiuProxy.Instance.CurrentRoom.roomStatus = NN_ENUM_ROOM_STATUS.DISSOLVE;
        //禁止点击开始按钮 开启遮罩
        TransferData data = new TransferData();

        data.SetValue <bool>("OnOff", true);
        ModelDispatcher.Instance.Dispatch(ConstDefine_NiuNiu.ObKey_EnableAllowStartBtn, data);//设置开始游戏按钮遮罩
    }
Esempio n. 2
0
 //处理申请解散消息内容
 public void SetApplicationDissolution(NN_ROOM_ASK_DISMISS proto)
 {
     Debug.Log("有人申请解散房间 服务器发送:是否有倒计时" + proto.hasUnixtime());
     if (proto.hasUnixtime())
     {
         CurrentRoom.serverTime = proto.unixtime;
     }
     if (agreeDissolveCount == 0)
     {
         agreeDissolveCount = 1;
     }
     CurrentRoom.roomStatus = NN_ENUM_ROOM_STATUS.DISSOLVE;
 }