-- CEST 海选赛 local ClubTable = class("ClubTable" , require("core.luaScript.Views.Club.ClubTable")); local ClubDefine = require("core.luaScript.Protocol.Club.ClubDefine") function ClubTable:ctor(...) ClubTable.super.ctor(self,...) -- self.ui.Items.TextBMFont:setPositionY(self.ui.Items.TextBMFont:getPositionY() + 12) end function ClubTable:onEnter() ClubTable.super.onEnter(self) if self.clubInfo.isArena == ClubDefine.MATCH_SWITCH.PEOPLE_CEST_OPEN then if self.clubInfo.role == ClubDefine.Job.Member then self.isBaoming = ClubDefine.CestStatus.BAOMING_CANSAI self:showNormalView() self:onChangeBaomingBtn(self.isBaoming) else self.isBaoming = ClubDefine.CestStatus.BAOMING_CANSAI self:showNormalView() self:onChangeBaomingBtn(self.isBaoming) end self:hideMathchShowCestView() -- 隐藏排名赛展示CEST相关界面 self:onRequestCestGameInfo() -- 请求报名开始接口 self:onRequestCestUserInfo() -- 请求个人信息 app.club_php:requestCestGetGameSet(self.clubInfo.clubId) else self.ui.Items.Layout_Cest:setVisible(false); self.ui.Items.Layout_CestInfo:setVisible(false); self.ui.Items.Layout_cest_bottom:setVisible(false); self.ui.Items.Layout_bisai_status:setVisible(false); if app.club_php:getMatchIsOpen(app.club_php.clubID) then if self.clubInfo.role == ClubDefine.Job.Creator then self:onOpenCestTip() -- 7月3日隐藏全部桌子,快速开始,玩法 self.ui.Items.ScrollView:setVisible(false) self.ui.Items.Layout_quick_start:setVisible(false) end end end end -- 显示 function ClubTable:showBaomingOrNormalView(isBaoming) if isBaoming == ClubDefine.CestStatus.BAOMING_CANSAI then self:showBaomingView() else self:showNormalView() end self:onChangeBaomingBtn(isBaoming) end -- 隐藏排名赛的东西 function ClubTable:hideMathchShowCestView() --顶部,查看隐藏牌桌 self.ui.Items.Layout_look_table:setVisible(false) -- 顶部,冲榜分 self.ui.Items.Layout_ChongBangFen:setVisible(false) -- 顶部,等级 self.ui.Items.Button_level:setVisible(false) -- 顶部,问号 self.ui.Items.Button_wenhao:setVisible(false) -- 底部,快速开始 self.ui.Items.Layout_quick_start:setVisible(false) self.ui.Items.Text_no_table:setText("当前没有选手在游戏哦!") -- 显示CEST self.ui.Items.Button_exit:loadTextureNormal("res/ui/zy_club/club_table/cest_view/club_cest_set_btn_exit.png") self.ui.Items.ScrollView_chang:setBackGroundColorType(cc.LayoutBackGroundColorType.none) -- self.ui.Items.ScrollView_chang:hideAllBar() self.ui.Items.ScrollView_chang:jumpToTopOnSizeChanged() self.ui.Items.ScrollView_chang:getInnerContainer():setAutoSize(true) end --按钮注册点击事件 function ClubTable:registerButton() ClubTable.super.registerButton(self) --关闭 self.ui.Items.Button_baoming_close:registerClick(handler(self , self.showNormalView)) self.ui.Items.Button_baoming_chang1:registerClick(handler(self , self.onRequestChang1Baoming)) self.ui.Items.Button_baoming_chang2:registerClick(handler(self , self.onRequestChang2Baoming)) self.ui.Items.Button_baoming_chang3:registerClick(handler(self , self.onRequestChang3Baoming)) self.ui.Items.Button_baoming_chang4:registerClick(handler(self , self.onRequestChang4Baoming)) -- self.ui.Items.Button_Baoming:registerClick(handler(self , self.onRequestBaoming)) self.ui.Items.Button_baoming_canjia:registerClick(handler(self , self.onBaomingCanjia)) self.ui.Items.Button_shenhe_zhong:registerClick(handler(self , self.onShenheZhong)) self.ui.Items.Button_jieshu_benlun:registerClick(handler(self , self.onJieshuBenlun)) -- 顶部,积分和赛点 self.ui.Items.Layout_CestInfo:registerClick(handler(self , self.onClickCestInfo)) -- 顶部,CEST信息问号 self.ui.Items.Button_cestinfo_wenhao:registerClick(handler(self , self.onClickCestInfo)) end --监听事件 function ClubTable:tableBindEvent() ClubTable.super.tableBindEvent(self) self:bindEvent(app.club_php, GAME_EVENT.CLUB_CEST_NO_GAMEINFO, handler(self, self.showCestSet)) self:bindEvent(app.club_php, GAME_EVENT.CLUB_CEST_GAMEINFO, handler(self, self.updateCestGameInfo)) self:bindEvent(app.club_php, GAME_EVENT.CLUB_CEST_END_GAME, handler(self, self.onCestEndGame)) self:bindEvent(app.club_php, GAME_EVENT.CLUB_CEST_USER_INFO, handler(self, self.onUserInfo)) -- self:bindEvent(app.club_php, GAME_EVENT.CLUB_CEST_START_APPLY, handler(self, self.onCestStartApplyRes)) end function ClubTable:updateChangeRuleBtn() ClubTable.super.updateChangeRuleBtn(self) if self.clubInfo.isArena == ClubDefine.MATCH_SWITCH.PEOPLE_CEST_OPEN then self.ui.Items.Button_change_rule:loadTextureNormal("res/ui/zy_club/club_table/bottom_view/club_cest_room_btn_bisai_guanli.png") self.ui.Items.Button_match_info:loadTextureNormal("res/ui/zy_club/club_table/bottom_view/club_cest_room_btn_cest_rank.png") self.ui.Items.Button_zhanji:loadTextureNormal("res/ui/zy_club/club_table/bottom_view/club_cest_room_btn_zhanji.png") --刷新layout布局 self.ui.Items.Layout_under:requestDoLayout() self.ui.Items.Layout_under:doLayout() elseif app.club_php:getMatchIsOpen(app.club_php.clubID) then -- 7月3日隐藏全部桌子,快速开始,玩法 self.ui.Items.ScrollView:setVisible(false) self.ui.Items.Layout_quick_start:setVisible(false) self.ui.Items.Layout_btn_change_rule:setVisible(false); --刷新layout布局 self.ui.Items.Layout_under:requestDoLayout() self.ui.Items.Layout_under:doLayout() end end --更新玩法数据 function ClubTable:updateSetting(event) ClubTable.super.updateSetting(self,event) if self.clubInfo.isArena == ClubDefine.MATCH_SWITCH.PEOPLE_CEST_OPEN then self.ui.Items.Layout_btn_hehuoren:setVisible(false) self.ui.Items.Layout_btn_match_info:setVisible(true) self.ui.Items.Layout_btn_player_list:setVisible(false) self.ui.Items.Button_match_set:loadTextureNormal("res/ui/zy_club/club_table/bottom_view/club_room_btn_cest.png") self.ui.Items.Button_match_info:loadTextureNormal("res/ui/zy_club/club_table/bottom_view/club_cest_room_btn_cest_rank.png") self.ui.Items.Button_level:setTouchEnabled(self.clubInfo.role == ClubDefine.Job.Creator) self.ui.Items.Button_wenhao:setTouchEnabled(true) self.ui.Items.Layout_Score:setTouchEnabled(true) self.ui.Items.Button_wenhao:setVisible(false) -- cest 里面里面不显示了 self.ui.Items.Button_level:setVisible(false) -- cest 里面里面不显示了 self.ui.Items.Layout_Score:setVisible(true) self.ui.Items.Layout_FangKa:setVisible(self.clubInfo.role == 3) if self.inView == ClubDefine.View.Baoming then self:showBottomBtnVisible(false) else self:showBottomBtnVisible(true) end --刷新layout布局 self.ui.Items.Layout_under:requestDoLayout() self.ui.Items.Layout_under:doLayout() self.ui.Items.Layout_look_table:setVisible(false) end end function ClubTable:showBaomingView() self.ui.Items.Layout_Cest:setVisible(true); self.ui.Items.Layout_cest_bottom:setVisible(true); self.ui.Items.Layout_Mid:setVisible(false); self.ui.Items.Layout_bottom:setVisible(false); self.ui.Items.Layout_up:setVisible(false); -- 茶馆名 local nickname = getShortNameByLength(self.clubInfo.clubName,5) self.ui.Items.Text_cest_name:setText(nickname) --club id local idStr = string.format("ID:%d",self.clubInfo.clubId) self.ui.Items.Text_cest_id:setText(idStr) -- 根据条件隐藏茶馆id local cliext = self.clubInfo.groupext and self.clubInfo.groupext.cliext if not cliext or not cliext.is_hideGid or (cliext and 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_cest_id:setVisible(false) end end self:showBaomingViewRule() self.inView = ClubDefine.View.Baoming end function ClubTable:showBaomingViewRule() self.ui.Items.Text_rule:setVisible(false); self.ui.Items.ScrollView_rule:hideAllBar() self.ui.Items.ScrollView_rule:getInnerContainer():setAutoSize(true) local mListView = self.ui.Items.ScrollView_rule mListView:removeAllChildren() local content = { "1、玩家根据自己的竞技能力,可自主报名参与对应的比赛场;\n", "2、报名成功后,可获得该场的初始积分;\n", "3、每参与一场比赛,给冠军选手颁发冠军奖励(赛点)。当比赛积分低于淘汰分或打满本轮局数时,需本轮比赛结束,系统将本轮获得的赛点成绩更新到海选赛排行榜上后,选手可重新参与新一轮比赛;\n", "4、海选赛排行榜实时更新,以选手每天上报的最高好绩进行排名,为保证自己的最好成绩,选手可提前申请结束本轮比赛,保存本轮比赛成绩;\n", "5、海选赛排行榜24:00停止刷新,确定最终排名,取排行榜前50名,分别奖励50-1分的CEST商城兑换积分;\n", "6、获得天梯赛排名可参与CEST专业赛事,和福利赛事,CEST商城兑换积分,可到商城中兑换礼物里;\n", } for k,v in ipairs(content) do local item = self.ui.Items.Text_rule:getCopied() item:setString(v) mListView:addChild(item,0); end mListView:requestDoLayout() mListView:doLayout() mListView:jumpToTopOnSizeChanged() end -- local Cmd = require("luaScript.Protocol.Club.ClubCmd") function ClubTable:showNormalView() -- local test = {} -- test.error = "" -- test.code = 1121 -- app.club_php:showError(Cmd.PHP_CLUB_MATER_UNION_MESSAGE_JUDGE,test) -- showTooltip((app.club_php:getCestIsOpen(app.club_php.clubID) and PLN.CLUB_CEST_CREATE_SUCCESS or PLN.CLUB_CREATE_SUCCESS)) self.ui.Items.Layout_Cest:setVisible(false); self.ui.Items.Layout_cest_bottom:setVisible(false); self.ui.Items.Layout_Mid:setVisible(true); self.ui.Items.Layout_bottom:setVisible(true); self.ui.Items.Layout_up:setVisible(true); -- -- 显示底部三个 self.inView = ClubDefine.View.Normal -- self:updateTopBaoJianInfo() -- 有包间信息,就刷新包间信息 self:showBottomBtnVisible(true) --刷新layout布局 self.ui.Items.Layout_under:requestDoLayout() self.ui.Items.Layout_under:doLayout() -- 显示底部CEST报名/审核中/本轮结束 self:onChangeBaomingBtn(self.isBaoming) end function ClubTable:showBottomBtnVisible(isVisible) -- self.ui.Items.Layout_btn_change_rule:setVisible(isVisible) -- self.ui.Items.Layout_btn_match_info:setVisible(isVisible) -- self.ui.Items.Layout_btn_zhanji:setVisible(isVisible) end -- 报名参加 function ClubTable:onRequestChang1Baoming() playBtnEffect() if self.isBaoming == ClubDefine.CestStatus.BAOMING_CANSAI then local function onSureCallBack() local parm = { clubId = self.clubId, type = 1, } app.club_php:requestCestStartApply(parm, handler(self,self.onCestStartApplyRes)) end local function onCancel() end local notice = "确认报名试炼场?" showConfirmDialog(notice,onSureCallBack,onCancel) else local function onSureCallBack() end local function onCancel() end local notice = "报名申请中,请耐心等待!" showConfirmDialog(notice,onSureCallBack,onCancel) end end function ClubTable:onRequestChang2Baoming() playBtnEffect() if self.isBaoming == ClubDefine.CestStatus.BAOMING_CANSAI then local function onSureCallBack() local parm = { clubId = self.clubId, type = 2, } app.club_php:requestCestStartApply(parm, handler(self,self.onCestStartApplyRes)) end local function onCancel() end local notice = "确认报名初级场?" showConfirmDialog(notice,onSureCallBack,onCancel) else local function onSureCallBack() end local function onCancel() end local notice = "报名申请中,请耐心等待!" showConfirmDialog(notice,onSureCallBack,onCancel) end end function ClubTable:onRequestChang3Baoming() playBtnEffect() if self.isBaoming == ClubDefine.CestStatus.BAOMING_CANSAI then local function onSureCallBack() local parm = { clubId = self.clubId, type = 6, } app.club_php:requestCestStartApply(parm, handler(self,self.onCestStartApplyRes)) end local function onCancel() end local notice = "确认报名中级场?" showConfirmDialog(notice,onSureCallBack,onCancel) else local function onSureCallBack() end local function onCancel() end local notice = "报名申请中,请耐心等待!" showConfirmDialog(notice,onSureCallBack,onCancel) end end function ClubTable:onRequestChang4Baoming() playBtnEffect() if self.isBaoming == ClubDefine.CestStatus.BAOMING_CANSAI then local function onSureCallBack() local parm = { clubId = self.clubId, type = 3, } app.club_php:requestCestStartApply(parm, handler(self,self.onCestStartApplyRes)) end local function onCancel() end local notice = "确认报名高级场?" showConfirmDialog(notice,onSureCallBack,onCancel) else local function onSureCallBack() end local function onCancel() end local notice = "报名申请中,请耐心等待!" showConfirmDialog(notice,onSureCallBack,onCancel) end end function ClubTable:onCloseCestApplyLayer() self.ui.Items.Layout_Cest:setVisible(false); self.ui.Items.Layout_Mid:setVisible(true); end function ClubTable:onUpdateCestInfo() end function ClubTable:updateCestGameInfo() if self.clubInfo.groupext.cestext then if self.clubInfo.groupext.cestext.one_point then self.ui.Items.Text_jifen_1:setText(tostring("初始积分:"..self.clubInfo.groupext.cestext.one_point)) end if self.clubInfo.groupext.cestext.one_gamenum then self.ui.Items.Text_lun_1:setText(tostring(""..self.clubInfo.groupext.cestext.one_gamenum.."场/轮")) end if self.clubInfo.groupext.cestext.two_point then self.ui.Items.Text_jifen_2:setText(tostring("初始积分:"..self.clubInfo.groupext.cestext.two_point)) end if self.clubInfo.groupext.cestext.two_gamenum then self.ui.Items.Text_lun_2:setText(tostring(""..self.clubInfo.groupext.cestext.two_gamenum.."场/轮")) end if self.clubInfo.groupext.cestext.mid_point then self.ui.Items.Text_jifen_3:setText(tostring("初始积分:"..self.clubInfo.groupext.cestext.mid_point)) end if self.clubInfo.groupext.cestext.mid_gamenum then self.ui.Items.Text_lun_3:setText(tostring(""..self.clubInfo.groupext.cestext.mid_gamenum.."场/轮")) end if self.clubInfo.groupext.cestext.three_point then self.ui.Items.Text_jifen_4:setText(tostring("初始积分:"..self.clubInfo.groupext.cestext.three_point)) end if self.clubInfo.groupext.cestext.three_gamenum then self.ui.Items.Text_lun_4:setText(tostring(""..self.clubInfo.groupext.cestext.three_gamenum.."场/轮")) end end end -- 改变CEST报名按钮 function ClubTable:onChangeBaomingBtn(isBaoming) self.ui.Items.Button_baoming_canjia:setVisible(false) self.ui.Items.Button_shenhe_zhong:setVisible(false) self.ui.Items.Button_jieshu_benlun:setVisible(false) self.ui.Items.Layout_jieshu_benlun:setVisible(false) if isBaoming == ClubDefine.CestStatus.BAOMING_CANSAI then -- 报名参赛 self.ui.Items.Button_baoming_canjia:setVisible(true) elseif isBaoming == ClubDefine.CestStatus.SHENHE_ZHONG then -- 审核中 self.ui.Items.Button_shenhe_zhong:setVisible(true) elseif isBaoming == ClubDefine.CestStatus.JIESHU_BENLUN then -- 结束本轮 self.ui.Items.Button_jieshu_benlun:setVisible(true) self.ui.Items.Layout_jieshu_benlun:setVisible(true) local memberInfo = app.club_php.clubCestInfo if memberInfo.curgamenum and memberInfo.gamenum then self.ui.Items.Text_cur_lun:setText(tostring(memberInfo.curgamenum)) self.ui.Items.Text_total_lun:setText("/"..tostring(memberInfo.gamenum)) end end end function ClubTable:onRequestBaoming() if self.isBaoming == ClubDefine.CestStatus.BAOMING_CANSAI then self:showBaomingView() else local function onSureCallBack() end local function onCancel() end local notice = "确认申请退赛?审核通过后,参赛券和比赛积分将清0!" showConfirmDialog(notice,onSureCallBack,onCancel) end end function ClubTable:onRequestCestGameInfo() local parm = { clubId = self.clubId, } app.club_php:requestCestGameInfo(parm) end function ClubTable:onRequestCestUserInfo() app.club_php:requestCestUserInfo(self.clubId) end -- 报名参加返回 function ClubTable:onCestStartApplyRes() self.isBaoming = ClubDefine.CestStatus.SHENHE_ZHONG self:onChangeBaomingBtn(self.isBaoming) self:showNormalView() -- self:updateTopBaoJianInfo() -- 有包间信息,就刷新包间信息 end function ClubTable:onClickCestInfo() playBtnEffect() local view = import("luaScript.Views.Club.Cest.ClubCestLevelLog"):new(self.clubId,3,app.user.loginInfo.uid) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end function ClubTable:onBaomingCanjia() playBtnEffect() self:showBaomingView() end function ClubTable:onShenheZhong() playBtnEffect() local memberInfo = app.club_php.clubCestInfo if tonumber(memberInfo.type) == ClubDefine.Saichang.Shilian or tonumber(memberInfo.type) == ClubDefine.Saichang.Chuji or tonumber(memberInfo.type) == ClubDefine.Saichang.Gaoji then showTooltip("报名申请中,请耐心等待!") elseif tonumber(memberInfo.type) == ClubDefine.Saichang.Tuisai then showTooltip("退赛申请中,请耐心等待!") end end function ClubTable:onJieshuBenlun() playBtnEffect() local room = app.club_php:getMyInRoom(self.clubInfo.clubId) if room then showTooltip("在房间内,不能申请退赛") return end local function onSureCallBack() app.club_php:requestCestDrawEndGame(self.clubId) end local function onCancel() end -- local notice = "是否确定结束本轮比赛?" -- showConfirmDialog(notice,onSureCallBack,onCancel) local content = "是否确定结束本轮比赛?"; local notice = "注:确定后,本轮成绩上报排名,可重新报名参赛。" local view = import("luaScript.Views.Club.Cest.ClubCestInfoTip"):new(1, onSureCallBack, nil, content, notice) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end -- 申请退赛返回 function ClubTable:onCestEndGame() -- self.isBaoming = ClubDefine.CestStatus.BAOMING_CANSAI -- self:onChangeBaomingBtn(self.isBaoming) self:onUserInfo() end function ClubTable:onUserInfo() local memberInfo = app.club_php.clubCestInfo self.ui.Items.Text_jifen:setText(tostring(memberInfo.point)) self.ui.Items.Text_saidian:setText(tostring(memberInfo.contribute)) -- 更新状态,老麦原话 -- type 为 1,2 ,3,的时候 status 状态,0,未领取,1领取 ,2审核中 , -- type 为4 是退赛,这时status 2是退赛申请 ,type如果0也是没有申请 if tonumber(memberInfo.type) == ClubDefine.Saichang.None then -- 没有申请 self.isBaoming = ClubDefine.CestStatus.BAOMING_CANSAI self:onChangeBaomingBtn(self.isBaoming) elseif tonumber(memberInfo.type) == ClubDefine.Saichang.Shilian or tonumber(memberInfo.type) == ClubDefine.Saichang.Chuji or tonumber(memberInfo.type) == ClubDefine.Saichang.Zhongji or tonumber(memberInfo.type) == ClubDefine.Saichang.Gaoji then if tonumber(memberInfo.status) == ClubDefine.SaichangStatus.Agree then self.isBaoming = ClubDefine.CestStatus.JIESHU_BENLUN self:onChangeBaomingBtn(self.isBaoming) elseif tonumber(memberInfo.status) == ClubDefine.SaichangStatus.Shenhe then -- 审核中 self.isBaoming = ClubDefine.CestStatus.SHENHE_ZHONG self:onChangeBaomingBtn(self.isBaoming) end elseif tonumber(memberInfo.type) == ClubDefine.Saichang.Tuisai then -- 退赛 self.isBaoming = ClubDefine.CestStatus.SHENHE_ZHONG self:onChangeBaomingBtn(self.isBaoming) end end function ClubTable:showCestSet() if self.clubInfo.role == ClubDefine.Job.Creator then app.club_php:setCestFirst(self.clubInfo.clubId, true) local view = import("luaScript.Views.Club.ClubSheZhi.ClubShezhi"):new(self.clubInfo.clubId) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end end -- 给馆主打开CEST提示 function ClubTable:onOpenCestTip() local view = import("luaScript.Views.Club.Cest.ClubCestCreatorTips"):new() view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end return ClubTable