require("luaScript.Views.Room.RoomFunctions") -- 房间设置界面 local RoomToolView_28 = class("RoomToolView_28", cc.UIView) local Functions = require("pk_doudizhu.luaScript.Functions_28") function RoomToolView_28:ctor() RoomToolView_28.super.ctor(self) --是否是该场景点了准备 self.isTouchCurScene = false end function RoomToolView_28:onEnter() RoomToolView_28.super.onEnter(self) local ui = loadUI("pk_doudizhu/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_doudizhu.luaScript.Views.Room.RoomSettingView_28"):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 if isReviewVersion() then self.ui.Items.Layout_Invite:setVisible(false) self.ui.Items.Layout_Invite_Club:setVisible(false) self.ui.Items.Layout_Button:requestDoLayout(); self.ui.Items.Layout_Button:doLayout(); end self:checkCanDismiss() end -- 邀请好友 function RoomToolView_28: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_28:onClickUpLoad() playBtnEffect() local view = import("luaScript.Views.Room.UplogView"):new() view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end function RoomToolView_28: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_28:setReadyVisible(bVisible) self.ui.Items.Layout_Ready:setVisible(bVisible) self.ui.Items.Layout_Button:requestDoLayout() self.ui.Items.Layout_Button:doLayout() end function RoomToolView_28: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_28:setLeaveEnabled(bEnabled) self.ui.Items.Button_Leave:setEnabled(bEnabled) end function RoomToolView_28:setDissmissEnabled(bEnabled) self.ui.Items.Button_Dissmiss:setEnabled(bEnabled) end --设置按钮菜单 function RoomToolView_28: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_28:onClickMenu() playBtnEffect() self.opentMenu = not self.opentMenu self:setMenuVisible(self.opentMenu) end -- 俱乐部邀请 function RoomToolView_28: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_28: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_28:onClickQuickStart() playBtnEffect() app.room:requestQuickStart(1) end --设置邀请亲友圈成员显示 function RoomToolView_28:setInviteClubVisible(bVisible) if (not isReviewVersion()) and 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_28:onClickReady() playBtnEffect() self.ui:sendMsg(app.room, "callReadyRequest") self.isTouchCurScene = true end --- -- 切换包间 -- @return -- function RoomToolView_28:onClickBaojian () openClub(); end --- -- 检测是否可以解散房间 -- @param -- @return -- function RoomToolView_28: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_28:onCanDismissCallback(canDismiss) if self.ui.Items.Button_Dissmiss then self.ui.Items.Button_Dissmiss:setEnabled(canDismiss) end end return RoomToolView_28