|
- 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
|