require("luaScript.Views.Room.RoomFunctions") local defs = require("pk_nanchongdoudizhu.luaScript.Def_53") local Functions = require("pk_nanchongdoudizhu.luaScript.Functions_53") -- 房间设置界面 local RoomToolView_53 = class("RoomToolView_53", cc.UIView) local Functions = require("pk_nanchongdoudizhu.luaScript.Functions_53") function RoomToolView_53:ctor() RoomToolView_53.super.ctor(self) --是否是该场景点了准备 self.isTouchCurScene = false end function RoomToolView_53:onEnter() RoomToolView_53.super.onEnter(self) local ui = loadUI("pk_nanchongdoudizhu/res/ui/ui_fangjian/doudizhu_ui_Tool.ui") self:addChild(ui) self.ui = ui -- 菜单按钮 self.ui.Items.Button_Menu:registerClick(handler(self , self.onClickMenu)) -- 菜单布局 self.ui.Items.Layout_Menu:registerClick(handler(self , self.onClickMenu)) -- 菜单布局背景 self.ui.Items.Layout_7:registerClick(handler(self , self.onClickMenu)) -- 离开按钮 self.ui.Items.Button_Leave:registerClick(handler(self , self.onClickLeave)) -- 设置按钮 self.ui.Items.Button_Set:registerClick(function () playBtnEffect() local view = import("pk_nanchongdoudizhu.luaScript.Views.Room.RoomSettingView_53"):new() view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end) -- 解散按钮 self.ui.Items.Button_Dissmiss:registerClick(function () playBtnEffect() app.room:requestDismissRoom(1) end) --坐标记录 -- self.setPos = self.ui.Items.Button_Set:getPosition() -- self.menuPos = self.ui.Items.Button_Menu:getPosition() -- self.leavePos = self.ui.Items.Button_Leave:getPosition() -- self.rulePos = self.ui.Items.Button_UpLoad:getPosition() -- self.dissmissPos = self.ui.Items.Button_Dissmiss:getPosition() -- self.ui.Items.Button_Set:setPosition(self.menuPos) -- self.ui.Items.Button_Leave:setPosition(self.menuPos) -- self.ui.Items.Button_UpLoad:setPosition(self.menuPos) -- self.ui.Items.Button_Dissmiss:setPosition(self.menuPos) self.ui.Items.Layout_Menu:setVisible(false) self:setMenuVisible(false) -- 邀请微信好友 self.ui.Items.Button_Invite:registerClick(handler(self , self.onClickFriends)) -- 准备按钮 self.ui.Items.Button_Ready:registerClick(handler(self , self.onClickReady)) --邀请俱乐部成员 self.ui.Items.Button_Invite_Club:registerClick(handler(self , self.onClickInviteClub)) --上传日志 -- self.ui.Items.Button_UpLoad:registerClick(handler(self , self.onClickUpLoad)) if app.club_php.clubID and app.club_php.clubID ~= 0 then self.ui.Items.Button_Club:setVisible(true) --切换回亲友圈 self.ui.Items.Button_Club:registerClick(handler(self, self.onClickBaojian)) else self.ui.Items.Button_Club:setVisible(false) end self.ui.Items.Button_Face:setVisible(not Functions.isForbidProp()) -- self.ui.Items.Button_Voice:setVisible(not Functions.isForbidProp()) self.ui.Items.Button_Voice:setVisible(not Functions.isForbidVoice()) if isReviewVersion() then self.ui.Items.Button_Invite:setVisible(false) self.ui.Items.Button_Invite_Club:setVisible(false) end -- 聊天按钮 self.ui.Items.Button_Face:registerClick(handler(self, self.onClickButtonFace)) -- 语音按钮 self:initVoiceComponent() self:checkCanDismiss() end -- 邀请好友 function RoomToolView_53:onClickFriends() playBtnEffect() local tt = { [0] = "零缺三", [1] = "一缺二", [2] = "二缺一", [3] = "满座", } local num = table.nums(app.room.roomInfo.memberList) --根据游戏类型分享 local roomInfo = app.room.roomInfo local jsonInfo = json.decode(roomInfo.strGameInfo) local gameConfig = getSubGameConfig(app.gameId) local gamerule = Functions.getCurGameRule() local strGameNum = string.format("%s局", app.room.roomInfo.nTotalGameNum) local title = string.format("%s - %s 房号[%s] %s %s", gameConfig.gameName, gameConfig.GameType[gamerule], app.room.roomInfo.nShowTableId, tt[num], strGameNum) if app.club_php.clubID and app.club_php.clubID ~= 0 then title = string.format("%s 亲友圈ID[%d]", title, tonumber(app.club_php.clubID)) end local strGameMode = Functions.getRuleStr() strGameMode = strGameMode .. " " .. app.room.roomInfo.nMaxPlayCount .. "人" .. " " local strNames = "" local index = 0 for k,v in pairs(app.room.roomInfo.memberList) do index = index + 1 local userInfo = json.decode(v.userInfo) local name = getSubStringNickname(userInfo.nickname) strNames = strNames..name if index < num then strNames = strNames .. "," end end local desc = string.format("%s \n玩家:%s", strGameMode, strNames) print(desc) local info = {} info.title = title info.description = desc info.copyData = { type = 2 } local view = import("luaScript.Views.Main.ShareView"):new(info) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end function RoomToolView_53:onClickUpLoad() playBtnEffect() local view = import("luaScript.Views.Room.UplogView"):new() view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end function RoomToolView_53:onClickRule() playBtnEffect() self.ui.Items.ImageView_Rule_bg:setVisible(not self.ui.Items.ImageView_Rule_bg:isVisible()) --Functions.playZiPaiVoiceOperation(1,1023152,nil,1) end function RoomToolView_53:setReadyVisible(bVisible) self.ui.Items.Layout_Ready:setVisible(bVisible) self.ui.Items.Layout_Button:requestDoLayout() self.ui.Items.Layout_Button:doLayout() end function RoomToolView_53:setInviteVisible(bVisible) self.ui.Items.Layout_Invite:setVisible(bVisible) self.ui.Items.Layout_Button:requestDoLayout() self.ui.Items.Layout_Button:doLayout() self:setInviteClubVisible(bVisible) end function RoomToolView_53:setLeaveEnabled(bEnabled) self.ui.Items.Button_Leave:setEnabled(bEnabled) end function RoomToolView_53:setDissmissEnabled(bEnabled) self.ui.Items.Button_Dissmiss:setEnabled(bEnabled) self:checkCanDismiss() end --设置按钮菜单 function RoomToolView_53:setMenuVisible(bVisible) self.ui.Items.Layout_Menu:setVisible(bVisible) -- local spawn -- if not bVisible then -- spawn = cc.Spawn:create(cc.MoveTo:create(0.15,self.menuPos),cc.FadeOut:create(0.15)) -- self.ui.Items.Button_Set:runAction(spawn) -- spawn = cc.Spawn:create(cc.MoveTo:create(0.15,self.menuPos),cc.FadeOut:create(0.15)) -- self.ui.Items.Button_Leave:runAction(spawn) -- spawn = cc.Spawn:create(cc.MoveTo:create(0.15,self.menuPos),cc.FadeOut:create(0.15)) -- self.ui.Items.Button_Dissmiss:runAction(spawn) -- spawn = cc.Spawn:create(cc.MoveTo:create(0.15,self.menuPos),cc.FadeOut:create(0.15)) -- self.ui.Items.Button_UpLoad:runAction(cc.Sequence:create(spawn, cc.CallFunc:create(function () -- self.ui.Items.Layout_Menu:setVisible(bVisible) -- end))) -- else -- self.ui.Items.Layout_Menu:setVisible(bVisible) -- spawn = cc.Spawn:create(cc.MoveTo:create(0.15,self.setPos),cc.FadeIn:create(0.15)) -- self.ui.Items.Button_Set:runAction(spawn) -- spawn = cc.Spawn:create(cc.MoveTo:create(0.15,self.rulePos),cc.FadeIn:create(0.15)) -- self.ui.Items.Button_UpLoad:runAction(spawn) -- spawn = cc.Spawn:create(cc.MoveTo:create(0.15,self.leavePos),cc.FadeIn:create(0.15)) -- self.ui.Items.Button_Leave:runAction(spawn) -- spawn = cc.Spawn:create(cc.MoveTo:create(0.15,self.dissmissPos),cc.FadeIn:create(0.15)) -- self.ui.Items.Button_Dissmiss:runAction(spawn) -- end -- self.ui.Items.ImageView_MenuBg:setVisible(bVisible) end -- 设置界面 function RoomToolView_53:onClickMenu() playBtnEffect() self.opentMenu = not self.opentMenu self:setMenuVisible(self.opentMenu) end -- 俱乐部邀请 function RoomToolView_53:onClickInviteClub() playBtnEffect() if app.club_php.clubID and app.club_php.clubID ~= 0 then local roomInfo = app.room.roomInfo -- local strGameMode = Functions.getRuleStr() local strGameMode = Functions.getRuleStrByClubInvite() local view = import("luaScript.Views.Club.ClubInvite"):new(roomInfo.nShowTableId, strGameMode) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end end function RoomToolView_53:onClickLeave() playBtnEffect() if app.room.roomInfo.tableOverFlag and app.room.roomInfo.tableOverFlag > TABLE_OVER_FLAG.TABLE_OVER_NORMAL then showTooltip(TABLE_OVER_FLAG_TEXT[app.room.roomInfo.tableOverFlag]) app:gotoView(import("luaScript.Views.Main.MainView"):new(GAME_IDS.LiuZhou)) else app.room.roomInfo.bQuitRoom = true self.ui:sendMsg(app.room, "callLeaveRequest") end end function RoomToolView_53:onClickQuickStart() playBtnEffect() app.room:requestQuickStart(1) end --设置邀请亲友圈成员显示 function RoomToolView_53:setInviteClubVisible(bVisible) if self.ui.Items.Button_Invite_Club then if app.club_php.clubID and app.club_php.clubID ~= 0 then self.ui.Items.Layout_Invite_Club:setVisible(bVisible) else self.ui.Items.Layout_Invite_Club:setVisible(false) end end self.ui.Items.Layout_Button:requestDoLayout() self.ui.Items.Layout_Button:doLayout() end function RoomToolView_53:onClickReady() playBtnEffect() self.ui:sendMsg(app.room, "callReadyRequest") self.isTouchCurScene = true end function RoomToolView_53:onClickBaojian () if IS_USER_NEW_CLUB then openClub(); -- 如果是新版俱乐部,使用公用的方法 else local clubList = app.club_php.clubList if clubList and table.nums(clubList) > 0 then --房间号 local roomInfo = app.room.roomInfo if roomInfo then --创建房间时传入的桌子下标 local strGameInfo = roomInfo.strGameInfo local ttGameInfo = json.decode(strGameInfo) local tableIdx = tonumber(ttGameInfo.tableIdx) if app.club_php.clubID and app.club_php.clubID ~= 0 then local view = import("luaScript.Views.Club.ClubTable"):new(clubList[app.club_php.clubID], tableIdx) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end end else --未找到亲友圈列表数据时,请求亲友圈列表(可能是断线重连) app.club_php:getClubList() end end end function RoomToolView_53:onClickButtonFace() local chatView = import("luaScript.Views.Room.RoomChatView"):new(defs.GAME_CHAT_TXT) chatView:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(chatView,0,true) end function RoomToolView_53:initVoiceComponent() local voiceComponentView = import("luaScript.Views.Room.RoomVoiceComponentView"):new(self.ui.Items.Button_Voice) self:addChild(voiceComponentView) end --- -- 检测是否可以解散房间 -- @param -- @return -- function RoomToolView_53:checkCanDismiss( ) local onCanDismissCallback = function (info) local nUserId = app.room:getMyUserId() local roomInfo = app.room.roomInfo or {} local canDismiss = (tonumber(info.canDismiss or 1) == 1) or roomInfo.nRoomOwnedUid == nUserId or dd.IClub.isAdmin() if roomInfo.nGameStartCount == 0 and roomInfo.nRoomOwnedUid ~= nUserId then canDismiss = false end self:onCanDismissCallback(canDismiss) end if dd.IClub.getCanDismiss then local canDismiss = dd.IClub.getCanDismiss(onCanDismissCallback) if canDismiss then onCanDismissCallback({canDismiss = canDismiss}) end end end function RoomToolView_53:onCanDismissCallback(canDismiss) if self.ui.Items.Button_Dissmiss then self.ui.Items.Button_Dissmiss:setEnabled(canDismiss) end end return RoomToolView_53