--茶馆包间管理Layout local ClubBaojianManager = class("ClubBaojianManager" , cc.UIView); function ClubBaojianManager:ctor(clubId) ClubBaojianManager.super.ctor(self) --单个茶馆数据 self.clubId = clubId self.clubInfo = app.club_php.clubList[clubId] self:loadUI() end function ClubBaojianManager:loadUI() local ui = loadUI("res/ui/ui_club/ui_club_baojian_manager.ui"); self.ui = ui; self:addChild(ui) end function ClubBaojianManager:onEnter() ClubBaojianManager.super.onEnter(self) self.ui.Items.Layout_item:setVisible(false); self.ui.Items.Button_add:setVisible(false); -- 关闭 self.ui.Items.Button_close:registerClick(handler(self , self.onClose)) self.ui.Items.Button_add:registerClick(handler(self , self.onClickAddBaoJian)) --规则修改推送 self:bindEvent(app.club_php , GAME_EVENT.CLUB_CHANGE_RULE_PUSH , handler(self , self.updateBaoJian)) --无数据显示 self.ui.Items.Layout_no_data:setVisible(false) self:updateBaoJian() end function ClubBaojianManager:onClose() playBtnCloseEffect() self:removeFromParent() end function ClubBaojianManager:updateBaoJian() local baoJians = self.clubInfo.baoJians --包间个数 local baojianNum = table.nums(baoJians) self.ui.Items.Text_baojian_nums:setText(baojianNum) local groupView = self.ui.Items.ScrollView groupView:getInnerContainer():setAutoSize(true) groupView:hideAllBar() groupView:removeAllChildren() local uiTemplate = self.ui.Items.Layout_item local index = 1 for baoJianId,baojian in pairsByKeys(baoJians) do self:addItem(baojian,index) index = index+1 end --包间小于后台下发的个数 显示添加按钮 local role = self.clubInfo.role; if self.clubInfo.config and self.clubInfo.config.gameRuleLimit and baojianNum < self.clubInfo.config.gameRuleLimit and (role == 2 or role == 3) then -- if baojianNum < 5 and (role == 2 or role == 3) then self.ui.Items.Button_add:setVisible(true) -- local uiAddItem = self.ui.Items.Layout_item_add:getCopied() -- uiAddItem.Items = getUIItems(uiAddItem) -- --新增包间 -- uiAddItem.Items.Layout_add_touch:registerClick(function () -- playBtnEffect() -- local view = import("luaScript.Views.Club.ClubChangeRule"):new(self.clubInfo.clubId) -- view:setAnchorPoint(cc.p(0.5, 0.5)) -- app:showWaitDialog(view) -- end) -- groupView:addChild(uiAddItem); else self.ui.Items.Button_add:setVisible(false) end if baojianNum>0 then self.ui.Items.Layout_title:setVisible(true) self.ui.Items.Layout_no_data:setVisible(false) else self.ui.Items.Layout_title:setVisible(false) self.ui.Items.Layout_no_data:setVisible(true) end groupView:jumpToTopOnSizeChanged() end function ClubBaojianManager:onClickAddBaoJian() playBtnEffect() local view = import("luaScript.Views.Club.ClubChangeRule"):new(self.clubInfo.clubId) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end function ClubBaojianManager:addItem(baojian,index) local groupView = self.ui.Items.ScrollView local uiTemplate = self.ui.Items.Layout_item local uiItem = uiTemplate:getCopied() autoAdapt(uiItem) uiItem.Items = getUIItems(uiItem) local gameId = baojian.gameId local baoJianId = baojian.baoJianId --包间下标 uiItem.Items.TextBMFont_idx:setText(index) --包间名 local role = self.clubInfo.role; local baojianName = baojian.title if not baojianName or baojianName == "" then if role == 2 or role == 3 then baojianName = "设置包间名" if app.club_php:getCestIsOpen(self.clubInfo.clubId) then baojianName = "设置赛事名" end else baojianName = "管理员未设置名字" end end uiItem.Items.Text_baojian_name:setText(baojianName) -- 局数 uiItem.Items.Text_jushu:setText(baojian.gameNum.."局") -- 玩法名 local rules = json.decode(baojian.strGameRule); local gamerule = rules.gamerule if gamerule then local ruleName = getSubGameRuleName(gameId, gamerule) uiItem.Items.Text_wanfa_name:setText(ruleName) end --在线桌数 -- if self.clubInfo.mode == 1 then -- uiItem.Items.Text_3:setVisible(false) -- else -- uiItem.Items.Text_3:setVisible(true) -- uiItem.Items.Text_online:setText(baojian.onlineRoomNum.."桌") -- end --(1:成员 2:管理员 3:创始人) if role == 2 or role == 3 then uiItem.Items.Button_name_set:setVisible(true) uiItem.Items.Button_change_rule:setVisible(true) uiItem.Items.Button_delete:setVisible(true) --包间名修改 uiItem.Items.Text_baojian_name:registerClick(function () playBtnEffect(); local view = import("luaScript.Views.Club.ClubBaojianChangeName"):new(self.clubInfo.clubId, baoJianId, baojian.title) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end) --包间名修改 uiItem.Items.Button_name_set:registerClick(function () playBtnEffect() local view = import("luaScript.Views.Club.ClubBaojianChangeName"):new(self.clubInfo.clubId, baoJianId, baojian.title) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end) --修改玩法规则 uiItem.Items.Button_change_rule:registerClick(function () playBtnEffect() local view = import("luaScript.Views.Club.ClubChangeRule"):new(self.clubInfo.clubId, gameId, gamerule, baoJianId) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end) --删除包间 uiItem.Items.Button_delete:registerClick(function () playBtnEffect() local content = "是否将该游戏从列表中删除?" --确认回调 local function okCallback() app.club_php:requestChangeRule(self.clubInfo.clubId, baoJianId, gameId, baojian.gameNum, baojian.strGameRule, 1) end local view = import("luaScript.Views.Club.ClubBaojianTips"):new(content, gameId, uiItem.Items.Text_wanfa_name:getString() , baojian.gameNum, okCallback, nil) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end) --查看玩法详情 uiItem.Items.Button_look:registerClick(function () playBtnEffect() --local view = import("luaScript.Views.Club.ClubBaojianRuleTips"):new(gameId, baojian.gameNum, baojian.strGameRule) local view = import("luaScript.Views.Club.ClubBaojianRule"):new(self.clubId, baoJianId) view:setAnchorPoint(cc.p(0.5, 0.5)) --计算坐标 local parentNode = uiItem.Items.Button_look local worldPos = parentNode:getWorldPosition() local viewContentSize = cc.size(425, 195) local x = worldPos.x - viewContentSize.width local y = worldPos.y - viewContentSize.height/2 local newPos = cc.p(x, y) view:setPosition(newPos) app:showWaitDialog(view, 0, true) end) else uiItem.Items.Button_name_set:setVisible(false) uiItem.Items.Button_change_rule:setVisible(false) uiItem.Items.Button_delete:setVisible(false) end groupView:addChild(uiItem) end return ClubBaojianManager