|
- -- 禁止成员同桌
- local ClubProhibitSameTable = class("ClubProhibitSameTable" , cc.UIView);
-
- function ClubProhibitSameTable:ctor(selectPlayerUid,jzPlayerUidList,gid, callback)--选中人的uid,已经禁止同桌玩家的UID列表
- ClubProhibitSameTable.super.ctor(self)
-
- local ui = loadUI("res/ui/ui_club/ui_club_prohibit_sametable.ui")
- self.ui = ui;
- self:addChild(ui);
-
- self.gID = gid
- self.selectPlayerUid = selectPlayerUid
- self.jzPlayerUidList = jzPlayerUidList or {}
- --table.insert(self.jzPlayerUidList,self.selectPlayerUid)
- self.callback = callback;
- end
-
- function ClubProhibitSameTable:onEnter()
- ClubProhibitSameTable.super.onEnter(self)
-
- --关闭按钮
- self.ui.Items.Button_Close:registerClick(handler(self , self.onClickClose))
-
- --确认按钮
- self.ui.Items.Button_Sure:registerClick(handler(self , self.onClickSure))
-
- --左边搜索玩家
- self.ui.Items.ImageView_fangdajing_1:registerClick(handler(self , self.onSearchPlayerL))
-
- --右边搜索玩家
- self.ui.Items.ImageView_fangdajing_2:registerClick(handler(self , self.onSearchPlayerR))
-
- --绑定搜索框回调事件
- --if self.ClubInfo then
- self:showPlayerInfo()
- self:showJZPlayerInfo()
- self:bindTextFildTouch();
- --end
-
- end
-
- --设置管理员
- function ClubProhibitSameTable:onClickButton(idx)
- if self.callback then
- self.callback(idx)
- end
- self:removeFromParent()
- end
-
- -- 关闭
- function ClubProhibitSameTable:onClickClose()
- playBtnCloseEffect()
- self:removeFromParent()
- end
-
- -- 确认按钮
- function ClubProhibitSameTable:onClickSure()
- playBtnEffect()
- --self:removeFromParent()
- app.club_php:requestSetNotDest(tonumber(self.gID), self.selectPlayerUid,self.jzPlayerUidList);
- self:removeFromParent()
- end
-
- function ClubProhibitSameTable:showPlayerInfo()
- local mListView = self.ui.Items.ScrollView_left;
- mListView:getInnerContainer():setAutoSize(true);
- mListView:removeAllChildren();
- if not app.club_php.clubPlayerList or type(app.club_php.clubPlayerList) ~= "table" then
- --showTooltip("无玩家");
- return;
- end
-
- self.itemT = {};
- local tt = {};
- local idx = 1;
- for k,v in pairsByKeys(app.club_php.clubPlayerList.list) do
- --操作者id
- --local operatorUid = app.user.loginInfo.uid
-
- local item
- if not self:checkIDISSelfOrSelectID(v.uid) and not self:checkIDISInJZPlayerIDList(v.uid) then--自己和设置过禁止同桌的ID不显示在左边
- item = self.ui.Items.Layout_player:getCopied()
- self:initPlayerListItem(item,v,true)
- mListView:addChild(item);
- end
-
- tt[idx] = item;
- idx = idx + 1;
- end
- self.itemT = tt;
-
- mListView:jumpToTopOnSizeChanged();
- end
-
- --通过uid在茶馆成员列表信息里面找成员信息
- function ClubProhibitSameTable:getPlayerInfoByUid(uid)
- for k,v in pairsByKeys(app.club_php.clubPlayerList.list) do
- if tonumber(uid) == tonumber(v.uid) then
- return v
- end
- end
- end
-
- --显示禁止同桌玩家列表
- function ClubProhibitSameTable:showJZPlayerInfo()
- local mListView = self.ui.Items.ScrollView_right;
- mListView:getInnerContainer():setAutoSize(true);
- mListView:removeAllChildren();
- if not app.club_php.clubPlayerList or type(app.club_php.clubPlayerList) ~= "table" then
- --showTooltip("无玩家");
- return;
- end
-
- --self.itemT = {};
- --local tt = {};
- --local idx = 1;
- for k,v in pairsByKeys(self.jzPlayerUidList) do
- local playerInfo = self:getPlayerInfoByUid(v)
- if playerInfo then
- local item = self.ui.Items.Layout_player:getCopied()
- self:initPlayerListItem(item,playerInfo)
- mListView:addChild(item);
- end
-
- --tt[idx] = item;
- --idx = idx + 1;
- end
- --self.itemT = tt;
-
- mListView:jumpToTopOnSizeChanged();
- end
-
- function ClubProhibitSameTable:bindTextFildTouch()
- local searchBoxLeft = self.ui.Items.TextField_search_left;
- local searchBoxRight = self.ui.Items.TextField_search_right;
-
- local function onTouchEndedL(touch , event)
- local searchCont = searchBoxLeft:getText();
- if searchCont == "" then
- self:showPlayerInfo();
- return;
- end
- self:onSearchPlayerL();
- end
-
- local function onTouchEndedR(touch , event)
- local searchCont = searchBoxRight:getText();
- if searchCont == "" then
- self:showJZPlayerInfo();
- return;
- end
- self:onSearchPlayerR();
- end
-
- searchBoxLeft:addEventListener(onTouchEndedL)
- searchBoxRight:addEventListener(onTouchEndedR)
- end
-
- --搜索玩家
- function ClubProhibitSameTable:onSearchPlayerL()
- --[[if not self.ClubInfo then
- return
- end--]]
-
- local searchCont = self.ui.Items.TextField_search_left:getText();
- if searchCont == "" then
- showTooltip("请输入玩家昵称或ID!");
- self:showPlayerInfo();
- return;
- end
-
- local mListView = self.ui.Items.ScrollView_left;
- mListView:removeAllChildren();
- self.itemT = {};
-
- if app.club_php.clubPlayerList then
- local playerList = app.club_php.clubPlayerList.list;
- if playerList then
- local searchNameT = {};
- local searchIdT = {};
-
- --操作者id
- local operatorUid = app.user.loginInfo.uid
-
- for k,playerInfo in pairsByKeys(playerList) do
- if not self:checkIDISSelfOrSelectID(playerInfo.uid) and not self:checkIDISInJZPlayerIDList(playerInfo.uid) then--自己和设置过禁止同桌的ID不显示在左边
- local findNameEnd = string.find(playerInfo.nick, searchCont);
- if findNameEnd then
- --昵称查找
- local playerItem = self.ui.Items.Layout_player:getCopied()
- self:initPlayerListItem(playerItem,playerInfo,true)
- mListView:addChild(playerItem);
-
- table.insert(self.itemT, playerItem);
- else
- --id查找
- local findIdEnd = string.find(playerInfo.uid, searchCont);
- if findIdEnd then
- local playerItem = self.ui.Items.Layout_player:getCopied()
- self:initPlayerListItem(playerItem,playerInfo,true)
- mListView:addChild(playerItem);
-
- table.insert(self.itemT, playerItem);
- end
- end
- end
- end
-
- local child = mListView:getChildren();
- local childSize = table.nums(child);
-
- mListView:jumpToTopOnSizeChanged();
- end
- end
- end
-
- --禁止同桌列表
- function ClubProhibitSameTable:onSearchPlayerR()
- local searchCont = self.ui.Items.TextField_search_right:getText();
- if searchCont == "" then
- showTooltip("请输入玩家昵称或ID!");
- self:showJZPlayerInfo();
- return;
- end
-
- local mListView = self.ui.Items.ScrollView_right;
- mListView:removeAllChildren();
-
- for k,v in pairsByKeys(self.jzPlayerUidList) do
- local playerInfo = self:getPlayerInfoByUid(v)
- local findNameEnd = string.find(playerInfo.nick, searchCont);
- local findIdEnd = string.find(playerInfo.uid, searchCont);
- if findNameEnd or findNameEnd then
- local item = self.ui.Items.Layout_player:getCopied()
- self:initPlayerListItem(item,playerInfo)
- mListView:addChild(item);
- end
- end
-
- mListView:jumpToTopOnSizeChanged();
- end
-
- --初始化玩家列表数据
- function ClubProhibitSameTable:initPlayerListItem(player,playerInfo,isLeft)--ui,player信息,是否是左边
- player.Items = getUIItems(player);
-
- --头像
- local nodeHead = player.Items.ImageView_head;
- local headSize = nodeHead:getContentSize();
- if playerInfo.icon and playerInfo.icon ~= "" then
- setPlayerHeadImage(playerInfo.uid, playerInfo.icon, nodeHead, false);
- else
- setDefaultHeadImg(playerInfo.sex, playerInfo.uid, nodeHead, headSize.width, false);
- end
-
- --昵称
- playerInfo.nick = getSubStringNickname(playerInfo.nick, player.Items.Text_nickname)
- player.Items.Text_nickname:setText(playerInfo.nick);
-
- --id号
- local strID = playerInfo.uid
- if playerInfo.agent == 1 then
- --是代理
- strID = string.format("%d(代理)", playerInfo.uid)
- end
- player.Items.Text_id:setText("ID:"..strID);
-
- if isLeft and true == isLeft then
- player.Items.Button_queren:registerClick(handler(self , self.onClickSetJZPlayer))
- player.Items.Button_quxiao:setVisible(false)
- player.Items.Button_queren.uid = playerInfo.uid
- else
- player.Items.Button_quxiao:registerClick(handler(self , self.onClickDelJZPlayer))
- player.Items.Button_queren:setVisible(false)
- player.Items.Button_quxiao.uid = playerInfo.uid
- end
- end
-
- --点击箭头按钮事件
- function ClubProhibitSameTable:onClickSetJZPlayer(event)
- playBtnEffect()
- table.insert(self.jzPlayerUidList,event.uid)
-
- self:showPlayerInfo()
- self:showJZPlayerInfo()
- end
-
- --取消禁止同桌列表玩家按钮事件
- function ClubProhibitSameTable:onClickDelJZPlayer(event)
- playBtnEffect()
- table.removeItem(self.jzPlayerUidList,event.uid)
-
- self:showPlayerInfo()
- self:showJZPlayerInfo()
- --[[for i=#self.jzPlayerUidList ,1,-1 do
- if tonumber(event.uid) == tonumber(self.jzPlayerUidList[i]) then
- table.remove(self.jzPlayerUidList,i)
- end
- end--]]
- end
-
- --判断一个ID是否在禁止同桌ID列表里面
- function ClubProhibitSameTable:checkIDISInJZPlayerIDList(uid)
- for i,v in ipairs(self.jzPlayerUidList) do
- if tonumber(uid) == tonumber(v) then
- return true
- end
- end
- return false
- end
-
- --判断ID是自己或选中的人(自己和选中的ID不显示在可选禁止列表里面)
- function ClubProhibitSameTable:checkIDISSelfOrSelectID(uid)
- if tonumber(uid) == tonumber(self.selectPlayerUid) or tonumber(uid) == tonumber(app.user.loginInfo.uid) then
- return true
- end
- return false
- end
-
- return ClubProhibitSameTable
|