-- 茶馆Layout local ClubMainItem = class("ClubMainItem"); local ClubDefine = require("luaScript.Protocol.Club.ClubDefine") function ClubMainItem:ctor(index,data,selectCallback) self:loadUI() self.selectCallback = selectCallback; --初始化 self.idx = index; self.clubInfo = data; --隐私数据 self.cliext = self.clubInfo.groupext and self.clubInfo.groupext.cliext self:init(); end function ClubMainItem:loadUI() self.ui = loadUI("core/res/ui/ui_club/ui_club_main_Item.ui") end function ClubMainItem:initButton() --邀请 self.ui.Items.Button_invite:registerClick(handler(self , self.onInvite)) --玩法设置 self.ui.Items.Button_baojian:registerClick(handler(self , self.onManageClub)) --进入茶馆 self.ui.Items.ImageView_bg:registerClick(handler(self , self.onClickEnterClub)) end function ClubMainItem:initStickButton() if not self:isOpenStick() then self.ui.Items.Button_Stick:setVisible(false) self.ui.Items.Button_Unstick:setVisible(false) return ; end --置顶 self.ui.Items.Button_Stick:registerClick(handler(self , self.onBtnStickClicked)) --取消置顶 self.ui.Items.Button_Unstick:registerClick(handler(self , self.onBtnUnstickClicked)) --是否置顶 if self.clubInfo.stickyTime and tonumber(self.clubInfo.stickyTime) > 0 then self.ui.Items.Button_Stick:setVisible(false) self.ui.Items.Button_Unstick:setVisible(true) else self.ui.Items.Button_Stick:setVisible(true) self.ui.Items.Button_Unstick:setVisible(false) end end function ClubMainItem:isOpenStick() return true; end function ClubMainItem:init() self:initButton(); self:initStickButton(); --红点提示 self.ui.Items.ImageView_dian:setVisible(false); --我的标签 self.ui.Items.ImageView_icon_me:setVisible(false) self.ui.Items.Layout_Btn:setVisible(false) self.ui.Items.Button_enter:setVisible(false) self.ui.Items.Text_userid:setVisible(false) self.ui.Items.ImageView_match:setVisible(app.club_php:getMatchIsOpen(self.clubInfo.clubId)) self.ui.Items.ImageView_cest:setVisible(app.club_php:getCestIsOpen(self.clubInfo.clubId)) self:updateItem() end function ClubMainItem:updateItem() --按钮图片修改 --[[if self.idx % 2 == 0 then self.ui.Items.Button_enter:loadTextureNormal("res/ui/zy_club/club_main/club_main_btn_enter.png") else self.ui.Items.Button_enter:loadTextureNormal("res/ui/zy_club/club_main/club_main_btn_enter_blue.png") end--]] --创建人头像 local nodeHead = self.ui.Items.ImageView_head; if not self.cliext or not self.cliext.is_hideCreator or (self.cliext and self.cliext.is_hideCreator == 1) then nodeHead:loadTexture("res/ui/zy_club/club_main/club_main_default_img.png") else local headSize = nodeHead:getContentSize(); setPlayerHeadImage(self.clubInfo.ownerId, self.clubInfo.strOwnerHeadUrl, nodeHead); end --茶馆名称 self.ui.Items.Text_club_name:setText(self.clubInfo.clubName) --创建人名 local nick = getSubStringNickname(self.clubInfo.ownerName) self.ui.Items.Text_create_name:setText(nick) if not self.cliext or not self.cliext.is_hideCreator or (self.cliext and self.cliext.is_hideCreator == 1) then self.ui.Items.Text_create_name:setText("昵称已隐藏") end --茶馆id self.ui.Items.Text_id:setText(self.clubInfo.clubId) -- 根据条件隐藏茶馆id if not self.cliext or not self.cliext.is_hideGid or (self.cliext and self.cliext.is_hideGid == 1) then if tonumber(self.clubInfo.role) ~= ClubDefine.Job.Manager and tonumber(self.clubInfo.role) ~= ClubDefine.Job.Creator then self.ui.Items.Text_id:setVisible(false) end end --ID self.ui.Items.Text_userid:setText("ID:"..self.clubInfo.ownerId) --在玩桌数 --self.ui.Items.Text_table_count:setText(self.clubInfo.onlineRoomNum) --如果自己为管理员或创始人则显示邀请及包间设置按钮(1:成员 2:管理员 3:创始人) if tonumber(self.clubInfo.role) == 3 then self.ui.Items.ImageView_icon_me:setVisible(true) --成员数量 self.ui.Items.Text_player_count:setText("在线:"..tostring(self.clubInfo.onlinePlayerNum).."人") else self.ui.Items.Text_player_count:setText("有人在线") end end --邀请 function ClubMainItem:onInvite() playBtnEffect() local title = string.format("%s名称:%s",(app.club_php:getCestIsOpen(app.club_php.clubID) and PLN.CLUB_CEST_NAME or PLN.CLUB_NAME), self.clubInfo.clubName) local content = string.format("可视化牌桌,不用自己开房就可以玩牌。"); local desc = string.format("%sID:%s\n%s",(app.club_php:getCestIsOpen(app.club_php.clubID) and PLN.CLUB_CEST_NAME or PLN.CLUB_NAME), self.clubInfo.clubId,content); local info = {} --info.ClubID = self.clubInfo.gid info.title = title info.description = desc print("用户开始分享") --需要显示的按钮(1:微信 2:复制 3:茶馆 ) info.menuIdxs = {1,4,5,6} local view = import("luaScript.Views.Main.ShareView"):new(info) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end --包间管理 function ClubMainItem:onManageClub() playBtnEffect() local view = import("luaScript.Views.Club.ClubBaojianManager"):new(self.clubInfo.clubId) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end function ClubMainItem:onClickEnterClub() playBtnEffect() if self.selectCallback then self.selectCallback(self.clubInfo.clubId, tonumber(self.clubInfo.stickyTime)) end self:onEnterClub() end --进入茶馆 function ClubMainItem:onEnterClub() if app.club_php:getCestIsOpen(self.clubInfo.clubId) then showTooltip("赛事结束,下一轮敬请期待!") return end local view = import("luaScript.Views.Club.ClubTable"):new(self.clubInfo.clubId) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end --更新茶馆玩法 function ClubMainItem:updateClubRuleName(settings) if settings and table.nums(settings) > 0 then local ruleInfo = json.decode(settings.strGameRule); if ruleInfo and table.nums(ruleInfo) > 0 then -- local gameRule = ruleInfo.strGameRule local gameId = settings.gameId local ruleName = getSubGameName(tonumber(gameId)) if ruleName == "nil" then local config = getSubGameConfig(tonumber(gameId)) if config then ruleName = config.gameName or "" end end self.ui.Items.Text_game_rule:setText(ruleName or ""); end else self.ui.Items.Text_game_rule:setText("未设置") end end --置顶 function ClubMainItem:onBtnStickClicked() self.ui.Items.Button_Stick:setTouchEnabled(false) self.ui.Items.Button_Stick:runAction(cc.Sequence:create(cc.DelayTime:create(0.5),cc.CallFunc:create(function () self.ui.Items.Button_Stick:setTouchEnabled(true) end))) if self.selectCallback then self.selectCallback(self.clubInfo.clubId, tonumber(self.clubInfo.stickyTime), true) end end --取消置顶 function ClubMainItem:onBtnUnstickClicked() self.ui.Items.Button_Unstick:setTouchEnabled(false) self.ui.Items.Button_Unstick:runAction(cc.Sequence:create(cc.DelayTime:create(0.5),cc.CallFunc:create(function () self.ui.Items.Button_Unstick:setTouchEnabled(true) end))) if self.selectCallback then self.selectCallback(self.clubInfo.clubId, tonumber(self.clubInfo.stickyTime), false) end end return ClubMainItem