-- 成员列表操作按钮Layout local ClubPlayerMatchOperatMenu = class("ClubPlayerMatchOperatMenu" , cc.UIView); local ClubDefine = require("luaScript.Protocol.Club.ClubDefine") --按钮对应编号 -- 1 : 设置管理员 -- 2 : 取消管理员 -- 3 : 拉入黑名单 -- 4 : 取消黑名单 -- 5 : 删除成员 -- 6 : 转让茶馆 -- 7 : 禁止玩家同桌 -- 8 : 设置合伙人 -- 9 : 取消合伙人 -- 10 :下属成员 -- 11 :取消一级合伙人 -- 12 :设置一级合伙人 -- 13 :设置分成比例 -- 14 :冻结下属成员 -- 15 :取消2级合伙人 -- 16 :设置2级合伙人 -- 17 :下属记录 -- 18 :解冻下属成员 -- 19 : 调给创始人 -- callback : 点击按钮之后的回调 function ClubPlayerMatchOperatMenu:ctor(player,clubId,tagType,lastOpId,callback) ClubPlayerMatchOperatMenu.super.ctor(self) local ui = loadUI("res/ui/ui_club/ui_club_player_match_operat_menu.ui") self.ui = ui; self:addChild(ui); --茶馆群id self.clubId = clubId self.clubInfo = app.club_php.clubList[clubId] self.player = player self.operatorId = app.user.loginInfo.uid self.lastOpId = lastOpId self.tagType = tagType self.callback = callback --修改名字 if self.ui.Items.Text_6 then self.ui.Items.Text_6:setText("转让"..(app.club_php:getCestIsOpen(app.club_php.clubID) and PLN.CLUB_CEST_NAME or PLN.CLUB_NAME)) end self.btnNums = self.ui.Items.Layout_btn_menu:getChildrenCount() --权限发生改变 self:bindEvent(app.club_php , GAME_EVENT.CLUB_CHANGE_ROLE , handler(self , self.onChangeRole)); end -- 角色权限修改 function ClubPlayerMatchOperatMenu:onChangeRole() self:removeFromParent() end function ClubPlayerMatchOperatMenu:onEnter() ClubPlayerMatchOperatMenu.super.onEnter(self) -- 注册点击事件 for i =1,self.btnNums do local name = string.format("Layout_Btn_%d",i) local node = self.ui.Items[name] if node then node:registerClick(function() self:onClickButton(i) end) end end -- 将需要显示的按钮索引标为 true local tt = {} local menus = self:getMenus() for k,idx in pairs(menus) do tt[idx] = true end -- 隐藏不相关的按钮 for i = 1,self.btnNums do local name = string.format("Layout_Btn_%d", i) local node = self.ui.Items[name] if node then -- 标记为true的显示 -- 否则不显示 if tt[i] then node:setVisible(true) else node:setVisible(false) end end end -- 重新布局 self.ui.Items.Layout_btn_menu:requestDoLayout() self.ui.Items.Layout_btn_menu:doLayout() -- 重新布局 self.ui.Items.Layout:requestDoLayout() self.ui.Items.Layout:doLayout() end function ClubPlayerMatchOperatMenu:getMenus() -- 1 : 设置管理员 -- 2 : 取消管理员 -- 3 : 拉入黑名单 -- 4 : 恢复游戏 -- 5 : 删除成员 -- 6 : 转让茶馆 -- 7 : 禁止玩家同桌 -- 8 : 设置合伙人 -- 9 : 取消合伙人 -- 10 :下属成员 -- 11 :取消一级合伙人 -- 12 :设置一级合伙人 -- 13 :设置分成比例 -- 14 :冻结下属成员 -- 15 :取消2级合伙人 -- 16 :设置2级合伙人 -- 17 :下属记录 -- 18 :解冻下属成员 -- 19 : 调给创始人 local menus = {} --如果是记录,则只给权限是查看 if self.tagType == ClubDefine.PlayListType.MATCH_RECORD then table.insert(menus,17) return menus elseif self.tagType == ClubDefine.PlayListType.MATCH_LV_1_COPARTNER_MEMBER then --如果是创始人或者管理员看一级的普通成员 if self.player.role == ClubDefine.Job.Member and (self.clubInfo.role == ClubDefine.Job.Manager or self.clubInfo.role == ClubDefine.Job.Creator) then if self.clubInfo.role == ClubDefine.Job.Creator then table.insert(menus,19) table.insert(menus,5) end table.insert(menus,7) --如果是创始人或者管理员看1级合伙人 elseif self.player.role == ClubDefine.Job.LevelOneCopartner and (self.clubInfo.role == ClubDefine.Job.Manager or self.clubInfo.role == ClubDefine.Job.Creator) then table.insert(menus,7) --如果是创始人或者管理员看二级合伙人 elseif self.player.role == ClubDefine.Job.LevelTwoCopartner and (self.clubInfo.role == ClubDefine.Job.Manager or self.clubInfo.role == ClubDefine.Job.Creator) then table.insert(menus,10) if self.clubInfo.role == ClubDefine.Job.Creator then table.insert(menus,5) end end if self.player.role ~= ClubDefine.Job.LevelTwoCopartner then if self.player.status == 0 then --黑名单 table.insert(menus,4) else table.insert(menus,3) end end return menus elseif self.tagType == ClubDefine.PlayListType.MATCH_LV_2_COPARTNER_MEMBER then if self.player.role == ClubDefine.Job.Member and (self.clubInfo.role == ClubDefine.Job.Creator)then table.insert(menus,19) if self.clubInfo.role == ClubDefine.Job.Creator then table.insert(menus,5) end end table.insert(menus,7) if self.player.status == 0 then --黑名单 table.insert(menus,4) else table.insert(menus,3) end return menus end --如果是创始人看管理员 if self.player.role == ClubDefine.Job.Manager and self.clubInfo.role == ClubDefine.Job.Creator then table.insert(menus,2) table.insert(menus,5) --table.insert(menus,7) --如果是创始人或者管理员看成员 elseif self.player.role == ClubDefine.Job.Member and (self.clubInfo.role == ClubDefine.Job.Manager or self.clubInfo.role == ClubDefine.Job.Creator) then --创始人看成员可以设置管理员,设置一级合伙人 if self.clubInfo.role==ClubDefine.Job.Creator then table.insert(menus,1) table.insert(menus,12) end table.insert(menus,5) table.insert(menus,7) --如果是创始人或者管理员看合伙人 elseif self.player.role == ClubDefine.Job.Copartner and (self.clubInfo.role == ClubDefine.Job.Manager or self.clubInfo.role == ClubDefine.Job.Creator) then table.insert(menus,7) --如果是创始人看一级合伙人 elseif self.player.role == ClubDefine.Job.LevelOneCopartner and self.clubInfo.role == ClubDefine.Job.Creator then table.insert(menus,10) table.insert(menus,11) table.insert(menus,13) if self.player.copartnerSubStatus == 0 then --黑名单 table.insert(menus,18) elseif self.player.copartnerSubStatus == 1 then table.insert(menus,14) end --如果是管理员看一级合伙人 elseif self.player.role == ClubDefine.Job.LevelOneCopartner and self.clubInfo.role == ClubDefine.Job.Manager then table.insert(menus,10) --如果是一级合伙人看自己的下属 elseif self.player.role == ClubDefine.Job.Member and self.clubInfo.role == ClubDefine.Job.LevelOneCopartner then table.insert(menus,5) table.insert(menus,16) --如果是一级合伙人看二级合伙人 elseif self.player.role == ClubDefine.Job.LevelTwoCopartner and self.clubInfo.role == ClubDefine.Job.LevelOneCopartner then table.insert(menus,15) table.insert(menus,10) table.insert(menus,13) if self.player.copartnerSubStatus == 0 then --黑名单 table.insert(menus,18) elseif self.player.copartnerSubStatus == 1 then table.insert(menus,14) end --如果是二级合伙人看自己的下属 elseif self.player.role == ClubDefine.Job.Member and self.clubInfo.role == ClubDefine.Job.LevelTwoCopartner then table.insert(menus,5) end if self.player.role ~= ClubDefine.Job.LevelTwoCopartner and self.player.role ~= ClubDefine.Job.LevelOneCopartner then if self.player.status == 0 then --黑名单 table.insert(menus,4) else if self.player.role ~= ClubDefine.Job.Copartner then table.insert(menus,3) end end end return menus end --设置管理员 function ClubPlayerMatchOperatMenu:onClickButton(idx) playBtnEffect() -- 1 : 设置管理员 -- 2 : 取消管理员 -- 3 : 拉入黑名单 -- 4 : 取消黑名单 -- 5 : 删除成员 -- 6 : 转让茶馆 -- 7 : 禁止玩家同桌 -- 8 : 设置合伙人 -- 9 : 取消合伙人 -- 10 :下属成员 -- 11 :取消一级合伙人 -- 12 :设置一级合伙人 -- 13 :设置分成比例 -- 14 :冻结下属成员 -- 15 :取消2级合伙人 -- 16 :设置2级合伙人 -- 17 :下属记录 -- 18 :解冻下属成员 -- 19 : 调给创始人 if idx == 1 then local content = "是否将玩家【%s】设置为管理员?"; --确认回调 local function okCallback() app.club_php:requestSetClubPlayer(self.clubId,self.operatorId, self.player.uid,1,nil,nil,self.tagType) end self:showPlayerTips(idx, content, self.player, okCallback, nil); elseif idx == 2 then local content = "是否取消玩家【%s】的管理员?"; --确认回调 local function okCallback() app.club_php:requestSetClubPlayer(self.clubId, self.operatorId, self.player.uid, 2,nil,nil,self.tagType) end self:showPlayerTips(idx, content, self.player, okCallback, nil); elseif idx == 3 then local content = "是否将玩家【%s】暂停游戏?" --确认回调 local function okCallback() local function callback() --[[if self.tagType == ClubDefine.PlayListType.MATCH_LV_1_COPARTNER_MEMBER or self.tagType == ClubDefine.PlayListType.MATCH_LV_2_COPARTNER_MEMBER then app.club_php:dispatchEvent({name = GAME_EVENT.CLUB_NOTICE_LV1_2UPDATE}) end--]] end app.club_php:requestSetClubPlayer(self.clubId, self.operatorId, self.player.uid, 3,nil,callback,self.tagType) end self:showPlayerTips(idx, content, self.player, okCallback, nil); elseif idx == 4 then local content = "是否将玩家【%s】恢复游戏?" --确认回调 local function okCallback() local function callback() --[[if self.tagType == ClubDefine.PlayListType.MATCH_LV_1_COPARTNER_MEMBER or self.tagType == ClubDefine.PlayListType.MATCH_LV_2_COPARTNER_MEMBER then app.club_php:dispatchEvent({name = GAME_EVENT.CLUB_NOTICE_LV1_2UPDATE}) end--]] end app.club_php:requestSetClubPlayer(self.clubId,self.operatorId, self.player.uid, 4,nil,callback,self.tagType) end self:showPlayerTips(idx, content, self.player, okCallback, nil); elseif idx == 5 then local content = "是否将玩家【%s】踢出"..(app.club_php:getCestIsOpen(app.club_php.clubID) and PLN.CLUB_CEST_NAME or PLN.CLUB_NAME).."?" --确认回调 local function okCallback() app.club_php:requestRemovePlayer(self.clubId, self.player.uid,self.tagType); end self:showPlayerTips(idx, content, self.player, okCallback, nil); elseif idx == 6 then local content = app.club_php:getCestIsOpen(app.club_php.clubID) and PLN.CLUB_CEST_TRANSFER or PLN.CLUB_TRANSFER --确认回调 local function okCallback() app.club_php:requestTransfer(self.clubId, self.player.uid,self.tagType) end self:showPlayerTips(idx, content, self.player, okCallback, nil); elseif idx == 7 then app.club_php:requestBanList(self.clubId, self.player.uid,self.tagType); elseif idx == 8 then -- 设为合伙人 local function okCallback() local view = import("luaScript.Views.Club.HeHuoRen.ClubHeHuoRenSetMember"):new(self.clubInfo, self.player.uid) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end if self.player.role == 2 then local content = "管理员被设置为合伙人后将取消管理员权限!" self:showPlayerTips(idx, content, self.player, okCallback, nil) else okCallback() end elseif idx == 9 then -- 取消合伙人 local view = import("luaScript.Views.Club.HeHuoRen.ClubHeHuoRenCancel"):new(self.clubInfo, self.player.uid) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) elseif idx == 10 then -- 下属成员 if self.callback then self.callback() end local view = import("luaScript.Views.Club.ClubPlayerMatchHeHuoRen"):new(self.clubId, self.player,self.lastOpId) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) elseif idx == 11 then -- 取消一级合伙人 local content = "是否将玩家【%s】取消一级合伙人?" --确认回调 local function okCallback() app.club_php:requestSetClubPlayer(self.clubId, self.operatorId, self.player.uid, 9,nil,nil,self.tagType) end local notice = { "注:1.取消合伙人权限需合伙人确认;", " 2.合伙人名下红花数为0时才能取消权限成功。", } self:showPlayerTips(idx, content, self.player, okCallback, nil,notice); elseif idx == 12 then --确认回调 local function okCallback(nPercent) app.club_php:requestSetClubPlayer(self.clubId, self.operatorId, self.player.uid, 10,nPercent,nil,self.tagType) end local view = import("luaScript.Views.Club.ClubPlayerSetHeHuoRen"):new(idx,self.player,self.clubId, okCallback) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) elseif idx == 13 then --确认回调 local function okCallback(nPercent) app.club_php:requestSetClubPlayer(self.clubId, self.operatorId, self.player.uid, 11,nPercent,nil,self.tagType) end local view = import("luaScript.Views.Club.ClubPlayerSetPercent"):new(self.player,self.clubId, okCallback) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) elseif idx == 14 then local content = "是否冻结该合伙人及其名下所有下属成员玩牌权限?" --确认回调 local function okCallback() app.club_php:requestSetClubPlayer(self.clubId, self.operatorId, self.player.uid, 12,nil,nil,self.tagType) end local notice = { "注:冻结后,该合伙人及其名下成员将无法进行继续玩牌。", } self:showPlayerTips(idx, content, self.player, okCallback, nil,notice); elseif idx == 15 then -- 取消2级合伙人 local content = "是否将玩家【%s】取消二级合伙人?" --确认回调 local function okCallback() app.club_php:requestSetClubPlayer(self.clubId, self.operatorId, self.player.uid, 9,nil,nil,self.tagType) end local notice = { "注:1.取消合伙人权限需合伙人确认;", " 2.合伙人名下红花数为0时才能取消权限成功。", } self:showPlayerTips(idx, content, self.player, okCallback, nil,notice); elseif idx == 16 then --确认回调 local function okCallback(nPercent) app.club_php:requestSetClubPlayer(self.clubId, self.operatorId, self.player.uid, 10,nPercent,nil,self.tagType) end local view = import("luaScript.Views.Club.ClubPlayerSetHeHuoRen"):new(idx,self.player,self.clubId, okCallback) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) elseif idx == 17 then -- 下属记录 if self.callback then self.callback() end local view = import("luaScript.Views.Club.ClubPlayerMatchHeHuoRenRecord"):new(self.clubId, self.player,self.lastOpId) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) elseif idx == 18 then local content = "是否解冻该合伙人及其名下所有下属成员玩牌权限?" --确认回调 local function okCallback() app.club_php:requestSetClubPlayer(self.clubId, self.operatorId, self.player.uid, 13,nil,nil,self.tagType) end self:showPlayerTips(idx, content, self.player, okCallback, nil); elseif idx == 19 then local content = "是否将玩家【%s】调给创始人?" --确认回调 local function okCallback() app.club_php:requestAdjustCopartnerMember(self.clubId, self.operatorId, self.player.uid,self.tagType,nil,0,self.lastOpId) end local notice = { "注:调配后,可能会造成该成员无法正常增减红花哦!", "请谨慎操作!!", } self:showPlayerTips(21, content, self.player, okCallback, nil,notice); end self:removeFromParent() end function ClubPlayerMatchOperatMenu:showPlayerTips(idx, content, playerInfo, okCallback, cancelCallback,notice) local view = import("luaScript.Views.Club.ClubPlayerTips"):new(idx, content, playerInfo, okCallback, cancelCallback,notice) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end return ClubPlayerMatchOperatMenu