|
-
- local ClubTableTopView = class("ClubTableTopView", cc.UIView)
-
- function ClubTableTopView:ctor (clubInfo, callback)
- ClubTableTopView.super.ctor(self)
-
- self:loadUI()
- clubInfo = clubInfo or {
- role = 1,
- clubName = "",
- clubId = 0,
- status = 1
- }
- --单个茶馆数据
- self.clubInfo = clubInfo
- self._callback = callback
- end
-
- function ClubTableTopView:loadUI()
- local ui = loadUI("res/ui/ui_club/clubnew/ui_club_table_top.ui")
- self:addChild(ui)
- self.ui = ui
- end
-
- function ClubTableTopView:onEnter()
-
- self:initViews()
-
- self:bindNetEvents()
-
- self:initButtonEvents()
-
- self:updateTable()
-
- end
- ---
- -- 初始化界面
- --
- function ClubTableTopView:initViews()
-
- self:initClubTitle()
-
- self:initUserInfo()
-
- self:initMenuStatus()
-
- end
- ---
- -- 设置俱乐部数据
- -- @param clubInfo
- --
- function ClubTableTopView:setData(clubInfo)
- self.clubInfo = clubInfo
- self:initViews()
- end
- ---
- -- 更新茶馆名
- --
- function ClubTableTopView:initClubTitle()
- --茶馆名
- local strClubName = self.clubInfo.clubName
- self.ui.Items.Text_club_name:setText(strClubName)
-
- --茶馆ID
- if self.clubInfo.clubId > 0 then
- local strId = string.format("%sID:%d", (app.club_php:getCestIsOpen(app.club_php.clubID) and PLN.CLUB_CEST_NAME or PLN.CLUB_NAME), self.clubInfo.clubId)
- self.ui.Items.Text_club_id:setText(strId)
- else
- self.ui.Items.Text_club_id:setText("")
- end
- end
- ---
- -- 初始化用户信息
- -- @return
- --
- function ClubTableTopView:initUserInfo()
- -- 房卡数量
- self.ui.Items.Text_Diamand:bind(app.user.loginInfo, "curCardNum", function()
- self.ui.Items.Text_Diamand:setString(tostring(app.user.loginInfo.curCardNum))
- end)
-
- local isAdmin = self.clubInfo.role == 2 or self.clubInfo.role == 3
- self.ui.Items.ImageView_Diamand:setVisible(isAdmin)
- end
- ---
- -- 初始化菜单显示状态
- --
- function ClubTableTopView:initMenuStatus()
- self.ui.Items.Layout_up_menu:setVisible(self.clubInfo and self.clubInfo.clubId > 0)
- self.ui.Items.Layout_right_menu:setVisible(self.clubInfo and self.clubInfo.clubId > 0)
-
- local role = self.clubInfo.role
- local isAdmin = role == 3
- -- 设置
- self.ui.Items.Layout_set:setVisible(true);
- -- 消息
- self.ui.Items.Layout_apply_msg:setVisible(isAdmin or role == 2)
- self.ui.Items.ImageView_dian:setVisible(false);
- -- 活动按钮
- self.ui.Items.Layout_activity:setVisible(isAdmin or role == 2)
- -- 邀请按钮
- self.ui.Items.Layout_invite:setVisible(isAdmin or role == 2)
- -- 加入设置
- self.ui.Items.Layout_join:setVisible(isAdmin);
- -- 退出设置
- self.ui.Items.Layout_quit_set:setVisible(isAdmin);
- -- 修改名字
- self.ui.Items.Layout_change_name:setVisible(isAdmin);
- -- 冻结茶馆
- self.ui.Items.Layout_dongjie:setVisible(isAdmin);
- -- 解冻茶馆
- self.ui.Items.Layout_jiedong:setVisible(isAdmin);
- -- 解散茶馆
- self.ui.Items.Layout_jiesan:setVisible(isAdmin);
- self.ui.Items.ImageView_jiesan_line:setVisible(not isAdmin);
- -- 退出
- self.ui.Items.Layout_exit:setVisible(not isAdmin);
- -- 微信群绑定
- self.ui.Items.Layout_bind_wechat:setVisible(false);
- -- 修改隐私
- self.ui.Items.Layout_privacy:setVisible(isAdmin);
- -- 屏蔽微信分享
- self.ui.Items.Layout_forbid_share:setVisible(isAdmin);
- -- 包间切换模式
- self.ui.Items.Layout_room_mode:setVisible(isAdmin);
- -- 大家赢设置,欢乐没有大赢家
- self.ui.Items.Layout_win_set:setVisible(isAdmin);
- -- 刷新设置菜单布局
- self.ui.Items.Layout_right_menu:requestDoLayout()
- self.ui.Items.Layout_right_menu:doLayout()
-
- if isReviewVersion() then
- self.ui.Items.Layout_invite:setVisible(false)
- end
-
- -- 刷新右上角菜单布局
- self.ui.Items.Layout_up_menu:requestDoLayout()
- self.ui.Items.Layout_up_menu:doLayout()
-
- if isAdmin then
- --茶馆状态:1正常2冻结
- self:updateStatuMenu()
- end
-
- self:setMenuVisible(false)
- end
-
- --更新冻结或解冻状态按钮
- function ClubTableTopView:updateStatuMenu()
- local isAdmin = (tonumber(self.clubInfo.role) == 3)
- if self.clubInfo.status == 2 and isAdmin then
- --冻结茶馆
- self.ui.Items.Layout_dongjie:setVisible(false);
- --解冻茶馆
- self.ui.Items.Layout_jiedong:setVisible(true);
- elseif self.clubInfo.status == 1 and isAdmin then
- --冻结茶馆
- self.ui.Items.Layout_dongjie:setVisible(true);
- --解冻茶馆
- self.ui.Items.Layout_jiedong:setVisible(false);
- else
- --冻结茶馆
- self.ui.Items.Layout_dongjie:setVisible(false);
- --解冻茶馆
- self.ui.Items.Layout_jiedong:setVisible(false);
- end
-
- --刷新layout布局
- self.ui.Items.Layout_right_menu:requestDoLayout()
- self.ui.Items.Layout_right_menu:doLayout()
- end
- ---
- -- 初始化按钮事件
- --
- function ClubTableTopView:initButtonEvents()
- -- 返回按钮
- self.ui.Items.Button_close:registerClick(handler(self, self.onBtnCloseClicked))
- -- 活动按钮
- self.ui.Items.Button_ActivityNew:registerClick(handler(self, self.onBtnActivityClicked))
- -- 邀请按钮
- self.ui.Items.Button_invite:registerClick(handler(self, self.onBtnInviteClicked))
- -- 设置按钮
- self.ui.Items.Button_set:registerClick(handler(self, self.onBtnSettingClicked))
- -- 刷新按钮
- self.ui.Items.Button_refresh:registerClick(handler(self, self.onBtnRefreshClicked))
- -- 消息按钮
- self.ui.Items.Button_apply_msg:registerClick(handler(self, self.onBtnMessageClicked))
- -- 点击层
- self.ui.Items.Layout_touch:registerClick(handler(self , self.onTouchBackground))
- -- 加入设置
- self.ui.Items.Button_join:registerClick(handler(self, self.onBtnJoinClicked))
- -- 退出设置
- self.ui.Items.Button_quit_set:registerClick(handler(self, self.onBtnQuickSetClicked))
- -- 修改亲友圈名字
- self.ui.Items.Button_change_name:registerClick(handler(self, self.onBtnChangeNameClicked))
- -- 冻结茶馆
- self.ui.Items.Button_dongjie:registerClick(handler(self, self.onBtnDongJieClicked))
- -- 解冻茶馆
- self.ui.Items.Button_jiedong:registerClick(handler(self, self.onBtnJieDongClicked))
- -- 绑定微信群
- self.ui.Items.Button_bind_wechat:registerClick(handler(self, self.onBtnBindWechatClicked))
- -- 解散茶馆
- self.ui.Items.Button_jiesan:registerClick(handler(self, self.onBtnJieSanClicked))
- -- 隐私设置
- self.ui.Items.Button_privacy:registerClick(handler(self, self.onBtnPrivacyClicked))
- -- 退出亲友圈设置
- self.ui.Items.Button_exit:registerClick(handler(self, self.onBtnExitClubClicked))
- -- 禁止分享
- self.ui.Items.Button_forbid_share:registerClick(handler(self, self.onBtnForbidShareClicked))
- -- 包间切换模式
- self.ui.Items.Button_room_mode:registerClick(handler(self, self.onBtnRoomModeClicked))
- -- 大家赢设置
- self.ui.Items.Button_win_set:registerClick(handler(self, self.onBtnWinSetClicked))
- -- 乐乐比赛场设置
- self.ui.Items.Button_match_set:registerClick(handler(self, self.onBtnMatchSetClicked))
- end
- ---
- -- 绑定网络消息事件
- --
- function ClubTableTopView:bindNetEvents()
- -- 茶馆数据变更消息
- self:bindEvent(app.club_php , GAME_EVENT.CLUB_CHANGE_PUSH , handler(self , self.onClubChangeEvent))
- -- 更新红花通知消息
- self:bindEvent(app.club_php , GAME_EVENT.CLUB_UPDATE_RED_FLOWER , handler(self , self.onUpdateHongHua))
- -- 更新配置通知消息
- self:bindEvent(app.club_php , GAME_EVENT.CLUB_SET , handler(self , self.onUpdateSetting));
- -- 桌子数据获取成功
- self:bindEvent(app.club_php , GAME_EVENT.CLUB_TABLE , handler(self , self.updateTable))
- -- 修改玩法
- self:bindEvent(app.club_php , GAME_EVENT.CLUB_CHANGE_RULE_PUSH , handler(self , self.updateTable))
- -- 普通消息获取成功
- self:bindEvent(app.club_php , GAME_EVENT.CLUB_MESSAGE , handler(self , self.onClubHintsUpdateEvent))
- end
- ---
- -- 返回按钮点击事件
- --
- function ClubTableTopView:onBtnCloseClicked()
- if not (self._callback and type(self._callback) == "function") then
- return
- end
-
- self._callback("close")
- end
- ---
- -- 邀请按钮点击事件
- -- @return
- --
- function ClubTableTopView:onBtnInviteClicked()
- playBtnEffect()
-
- if self.clubInfo.clubId <= 0 then
- showTooltip("请先选择" .. (app.club_php:getCestIsOpen(app.club_php.clubID) and PLN.CLUB_CEST_NAME or PLN.CLUB_NAME))
- return
- end
- -- local gname = self.clubInfo.gname
- -- local clubList = app.club_php.clubList
- -- if clubList then
- -- local clubInfo = clubList[tonumber(self.clubInfo.gid)]
- -- if clubInfo then
- -- gname = clubInfo.gname
- -- end
- -- end
-
- 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.clubId
- info.title = title
- info.description = desc
- print("用户开始分享")
- --需要显示的按钮(1:微信 2:复制 3:茶馆 )
- if type(menuIdxs) ~= "table" then
- info.menuIdxs = {1, 4, 5, 6}
- end
-
- if type(copyData) == "string" then
- info.copyData = copyData
- else
- info.copyData = ""
- end
- dump(info)
-
- local view = import("luaScript.Views.Main.ShareView"):new(info)
- view:setAnchorPoint(cc.p(0.5, 0.5))
- app:showWaitDialog(view)
- end
- ---
- -- 设置按钮点击事件
- --
- function ClubTableTopView:onBtnSettingClicked()
- playBtnEffect();
- if self.clubInfo.clubId <= 0 then
- showTooltip("请先选择" .. (app.club_php:getCestIsOpen(app.club_php.clubID) and PLN.CLUB_CEST_NAME or PLN.CLUB_NAME))
- return
- end
- local isAdmin = (tonumber(self.clubInfo.role) == 3)
- if isAdmin then
- local view = import("luaScript.Views.Club.ClubSheZhi.ClubShezhi"):new(self.clubInfo.clubId)
- view:setAnchorPoint(cc.p(0.5, 0.5))
- app:showWaitDialog(view)
- else
- local isVisible = self.ui.Items.Layout_right_menu:isVisible()
- self:setMenuVisible(not isVisible)
- end
- end
- ---
- -- 消息按钮点击事件
- --
- function ClubTableTopView:onBtnMessageClicked()
- playBtnEffect();
- if self.clubInfo.clubId <= 0 then
- showTooltip("请先选择" .. (app.club_php:getCestIsOpen(app.club_php.clubID) and PLN.CLUB_CEST_NAME or PLN.CLUB_NAME))
- return
- end
- local view = import("luaScript.Views.Club.ClubMessage"):new(self.clubInfo.clubId)
- view:setAnchorPoint(cc.p(0.5, 0.5))
- app:showWaitDialog(view)
- end
- ---
- -- 点击空白地方
- --
- function ClubTableTopView:onTouchBackground()
- self.ui.Items.Layout_touch:setVisible(false)
- self:setMenuVisible(false);
- end
- ---
- -- 刷新按钮点击事件
- --
- function ClubTableTopView:onBtnRefreshClicked()
- playBtnEffect()
- if self.clubInfo.clubId <= 0 then
- showTooltip("请先选择" .. (app.club_php:getCestIsOpen(app.club_php.clubID) and PLN.CLUB_CEST_NAME or PLN.CLUB_NAME))
- return
- end
- --最后点击刷新的时间
- self.lastRefreshTime = tonumber(loadUserInfo("lastRefreshTime")) or 0
- saveUserInfo("lastRefreshTime", self.lastRefreshTime)
-
- --连续点击次数
- self.touchTimes = tonumber(loadUserInfo("touchTime")) or 0
- self.touchTimes = self.touchTimes + 1;
- saveUserInfo("touchTime", self.touchTimes)
-
- local curTime = os.time()
- local distance = curTime - self.lastRefreshTime
- local disbandTime = 5
- --点击超过三次,提示
- if self.touchTimes > 3 and distance <= disbandTime then
- showTooltip(string.format("请勿频繁刷新,休息一下下哦!"))
- return
- end
- self.lastRefreshTime = curTime
- saveUserInfo("lastRefreshTime", self.lastRefreshTime)
-
- self:doCallback("refresh")
-
- app.club_php:requestClubHomeInGame(self.clubInfo.clubId)
-
- --请求茶馆成员列表
- app.club_php:requestPlayerList(self.clubInfo.clubId)
-
- -- --只有角色为创始人或管理员才能请求申请消息数据
- -- if self.clubInfo.role == 2 or self.clubInfo.role == 3 then
- -- --请求茶馆普通消息
- -- app.club_php:requestMsg(self.clubInfo.gid);
-
- -- --请求茶馆申请消息
- -- app.club_php:requestApplyMsg(self.clubInfo.gid);
- -- end
-
- showTooltip("刷新成功")
- end
- ---
- -- 活动按钮点击事件
- --
- function ClubTableTopView:onBtnActivityClicked()
- playBtnEffect()
- if self.clubInfo.clubId <= 0 then
- showTooltip("请先选择" .. (app.club_php:getCestIsOpen(app.club_php.clubID) and PLN.CLUB_CEST_NAME or PLN.CLUB_NAME))
- return
- end
- local clubId = self.clubInfo.clubId
- self:requestClubOfficialActivity(clubId)
- end
- ---
- -- 设置菜单显示/隐藏
- -- @param isVisible 是否显示
- --
- function ClubTableTopView:setMenuVisible(isVisible)
- self.ui.Items.Layout_right_menu:setVisible(isVisible)
- self.ui.Items.Layout_touch:setVisible(isVisible)
- end
- ---
- -- 按钮点击事件
- --
- function ClubTableTopView:onBtnJoinClicked()
-
- end
- ---
- -- 按钮点击事件
- --
- function ClubTableTopView:onBtnQuickSetClicked()
-
- end
- ---
- -- 按钮点击事件
- --
- function ClubTableTopView:onBtnChangeNameClicked()
-
- end
- ---
- -- 按钮点击事件
- --
- function ClubTableTopView:onBtnDongJieClicked()
-
- end
- ---
- -- 按钮点击事件
- --
- function ClubTableTopView:onBtnJieDongClicked()
-
- end
- ---
- -- 绑定微信群按钮点击事件
- --
- function ClubTableTopView:onBtnBindWechatClicked()
- playBtnEffect()
- self:onTouchBackground()
- local view = import("luaScript.Views.Club.ClubBind"):new(self.clubInfo)
- view:setAnchorPoint(cc.p(0.5, 0.5))
- app:showWaitDialog(view)
- end
- ---
- -- 按钮点击事件
- --
- function ClubTableTopView:onBtnJieSanClicked()
-
- end
- ---
- -- 按钮点击事件
- --
- function ClubTableTopView:onBtnPrivacyClicked()
-
- end
- ---
- -- 按钮点击事件
- --
- function ClubTableTopView:onBtnExitClubClicked()
- playBtnEffect();
- local room = app.club_php:getMyInRoom()
- if room then
- --有桌子下标,表示当前在房间内游戏
- showTooltip(app.club_php:getCestIsOpen(app.club_php.clubID) and PLN.CLUB_CEST_IN_GAME_EXIT or PLN.CLUB_IN_GAME_EXIT)
- return
- end
-
- local view = app:getCurrentView()
- local isInMainView = view.__cname == "MainView"
- if not isInMainView then
- showTooltip(app.club_php:getCestIsOpen(app.club_php.clubID) and PLN.CLUB_CEST_IN_GAME_EXIT or PLN.CLUB_IN_GAME_EXIT)
- return
- end
-
- self:onTouchBackground()
- -- self.clubInfo.Type = 3;
- local view = import("luaScript.Views.Club.ClubDongJie"):new(self.clubInfo.clubId,3)
- view:setAnchorPoint(cc.p(0.5, 0.5))
- app:showWaitDialog(view)
- end
- ---
- -- 按钮点击事件
- --
- function ClubTableTopView:onBtnForbidShareClicked()
- -- 弃用
- end
- ---
- -- 按钮点击事件
- --
- function ClubTableTopView:onBtnRoomModeClicked()
- -- 弃用
- end
- ---
- -- 按钮点击事件
- --
- function ClubTableTopView:onBtnWinSetClicked()
- -- 弃用
- end
- ---
- -- 乐乐比赛场设置按钮事件
- --
- function ClubTableTopView:onBtnMatchSetClicked( )
- playBtnEffect()
- if self.clubInfo.clubId <= 0 then
- showTooltip("请先选择" .. (app.club_php:getCestIsOpen(app.club_php.clubID) and PLN.CLUB_CEST_NAME or PLN.CLUB_NAME))
- return
- end
- local view = import("luaScript.Views.Club.ClubBiSaiSet"):new(self.clubInfo.clubId)
- view:setAnchorPoint(cc.p(0.5, 0.5))
- app:showWaitDialog(view)
- end
- ---
- -- 执行回调
- -- @param key 标识,ClubTable中区分调哪个方法
- -- @param data 数据
- -- @return
- --
- function ClubTableTopView:doCallback(key, ...)
- if not (self._callback and type(self._callback) == "function") then
- return
- end
-
- return self._callback(key, ...)
- end
-
- --- =================================================== 以下为网络收发消息 start ======================================================
- ---
- -- 请求亲友圈活动数据
- -- @param clubId
- --
- function ClubTableTopView:requestClubOfficialActivity( clubId )
- app.club_php:requestClubOfficialActivity(clubId)
- end
- ---
- -- 请求亲友圈活动数据回复
- -- @param event
- --
- function ClubTableTopView:onGetClubOfficialActivitySucc(event)
- local view = import("luaScript.Views.Club.ClubOfficialActivityView"):new(event.activitys)
- view:setAnchorPoint(cc.p(0.5, 0.5))
- app:showWaitDialog(view)
- end
- ---
- -- 茶馆数据变更消息
- --
- function ClubTableTopView:onClubChangeEvent()
- self:initClubTitle()
- self:initMenuStatus()
- end
- ---
- -- 更新红花通知消息
- --
- function ClubTableTopView:onUpdateHongHua()
- if self.clubInfo.memberInfo then
- local memberInfo = self.clubInfo.memberInfo
- self.ui.Items.Text_HongHua:setText(tostring(memberInfo.arena_score))
- end
- end
- ---
- -- 更新配置通知消息
- --
- function ClubTableTopView:onUpdateSetting()
- self:onUpdateHongHua()
- end
- ---
- -- 桌子数据获取成功
- --
- function ClubTableTopView:updateTable()
- self:updateDaLianMeng()
- self:onUpdateSetting()
- self:initMenuStatus()
- self:onClubHintsUpdateEvent()
- end
- ---
- -- 更新大联盟
- --
- function ClubTableTopView:updateDaLianMeng()
- local imgHongHua = self.ui.Items.ImageView_HongHua
- local layoutMatchSet = self.ui.Items.Layout_match_set
- layoutMatchSet:setVisible(false)
- imgHongHua:setVisible(false)
-
- if app.config.ModuleConfig.IsSupportDaLianMeng and self.clubInfo.isArena ~= 0 then
- if self.clubInfo.role == 3 then
- layoutMatchSet:setVisible(true)
- end
- imgHongHua:setVisible(true)
- end
-
- local topMenu = self.ui.Items.Layout_up_menu
- topMenu:requestDoLayout();
- topMenu:doLayout();
- end
-
- function ClubTableTopView:onClubHintsUpdateEvent()
- if self.clubInfo.isHints then
- self.ui.Items.ImageView_dian:setVisible(true)
- else
- self.ui.Items.ImageView_dian:setVisible(false)
- end
- end
-
- --- =================================================== 以上为网络收发消息 end ======================================================
-
- return ClubTableTopView
|