|
- -- 玩家列表ItemLayout
- local ClubPlayerMatchItem = class("ClubPlayerMatchItem");
- local ClubDefine = require("luaScript.Protocol.Club.ClubDefine")
-
- function ClubPlayerMatchItem:ctor(player,clubId,index,dayTag,typeTag,callback)
- self.ui = loadUI("res/ui/ui_club/ui_club_player_match_member_item.ui");
- local uiSize = self.ui:getSize();
- local realSize = {width = uiSize.width * g_radio_x,height = uiSize.height * g_radio_y}
- self.ui:setSize(realSize)
- --更多操作
- self.ui.Items.Button_more:registerClick(handler(self , self.onClickMore))
- self.ui.Items.Button_more:setVisible(false);
-
- self.ui.Items.ImageView_pause:setVisible(false);
-
- self.ui.Items.Button_adjust:registerClick(handler(self , self.onClickAdjust))
- self.ui.Items.Button_record:registerClick(handler(self , self.onClickRecord))
-
- --茶馆群id
- self.clubId = clubId
- self.clubInfo = app.club_php.clubList[clubId]
- self.player = player
- self.operatorId = app.user.loginInfo.uid
- self.index = index
- self.callback = callback
- self.typeTag = typeTag
- --self.dayTag = dayTag --这个字段这用不到
-
- self:updatePlayer()
- end
-
- function ClubPlayerMatchItem:updatePlayer()
- self.ui.Items.TextBMFont_num:setText(tostring(self.index))
- local playerInfo = self.player
- --头像
- local nodeHead = self.ui.Items.ImageView_head;
- local headSize = nodeHead:getContentSize();
- if playerInfo.strHeadUrl and playerInfo.strHeadUrl ~= "" then
- setPlayerHeadImage(playerInfo.uid, playerInfo.strHeadUrl, nodeHead);
- else
- setDefaultHeadImg(playerInfo.sex, playerInfo.strHeadUrl, nodeHead, headSize.width);
- end
-
- --昵称
- local name = getSubStringNickname(playerInfo.name, self.ui.Items.Text_nickname)
- self.ui.Items.Text_nickname:setText(name or "未知昵称")
-
- --id号
- local strID = playerInfo.uid
- if playerInfo.agent == 1 then
- --是代理
- strID = "ID: " .. string.format("%d(代理)", playerInfo.uid)
- end
-
- self.ui.Items.Text_id:setText(strID);
-
- --职位
- self.ui.Items.Text_job:setText(tostring(ClubDefine.Role[playerInfo.role]))
- if playerInfo.cancelDesc then
- self.ui.Items.Text_cancel_info:setText(tostring(playerInfo.cancelDesc))
- end
-
- --成员状态(1正常0黑名单成员)
- if playerInfo.status == 0 then
- self.ui.Items.ImageView_pause:setVisible(true);
- end
-
- --状态(1在线0离线)
- if playerInfo.online == 1 then
- --在线
- self.ui.Items.Text_statue:setText("在线");
- self.ui.Items.Text_statue:setTextColor(cc.c4b(16,177,1,255));
- else
- self.ui.Items.Text_statue:setTextColor(cc.c4b(115,115,115,255));
- end
-
- --红花数
- local useRedFlower = playerInfo.useRedFlower
- self.ui.Items.Text_rednum:setText(tostring(useRedFlower));
-
- --分成比例
- local nPersent = playerInfo.arenaRatio
- if nPersent == 0 and playerInfo.role ~= ClubDefine.Job.LevelOneCopartner and playerInfo.role ~= ClubDefine.Job.LevelTwoCopartner then
- self.ui.Items.Text_win_num:setText(tostring("/"));
- else
- self.ui.Items.Text_win_num:setText(tostring(nPersent).."%");
- end
-
- --total红花数
- local totalRedFlower = playerInfo.totalRedFlower
- self.ui.Items.Text_num_red:setText(tostring(totalRedFlower))
-
- --操作按钮和总红花数显示
- if playerInfo.role == ClubDefine.Job.Creator then --如果是创始人
- self.ui.Items.Button_more:setVisible(false)
- self.ui.Items.Text_ShowRed:setVisible(true)
- elseif playerInfo.role== ClubDefine.Job.Manager and self.clubInfo.role ~= ClubDefine.Job.Creator then
- self.ui.Items.Button_more:setVisible(false)
- self.ui.Items.Text_ShowRed:setVisible(false)
- elseif (playerInfo.role == ClubDefine.Job.LevelOneCopartner and self.clubInfo.role == ClubDefine.Job.LevelOneCopartner)
- or (playerInfo.role == ClubDefine.Job.LevelTwoCopartner and self.clubInfo.role == ClubDefine.Job.LevelTwoCopartner) then
- self.ui.Items.Button_more:setVisible(false)
- self.ui.Items.Text_ShowRed:setVisible(false)
- self.ui.Items.Text_win_num:setText(tostring("/"));
- self.ui.Items.Button_adjust:setEnabled(false)
- self.ui.Items.Button_record:setEnabled(false)
- else
- self.ui.Items.Button_more:setVisible(true)
- self.ui.Items.Text_ShowRed:setVisible(false)
- end
-
- self.ui.Items.Button_adjust:setVisible(self.clubInfo.role == ClubDefine.Job.Creator
- or self.clubInfo.role == ClubDefine.Job.LevelOneCopartner
- or self.clubInfo.role == ClubDefine.Job.LevelTwoCopartner)
- self.ui.Items.Button_record:setVisible(self.clubInfo.role == ClubDefine.Job.Creator
- or self.clubInfo.role == ClubDefine.Job.LevelOneCopartner
- or self.clubInfo.role == ClubDefine.Job.LevelTwoCopartner)
- end
-
- function ClubPlayerMatchItem:onClickMore()
- playBtnEffect()
- local player = app.club_php:getMatchPlayer(self.clubId,self.player.uid)
- if not player then
- logD("ClubPlayerMatchItem:onClickMore player isNOExist")
- return
- end
- local view = import("luaScript.Views.Club.ClubPlayerMatchOperatMenu"):new(player,self.clubId,ClubDefine.PlayListType.MATCH_MEMBER,self.operatorId,self.callback)
- view:setAnchorPoint(cc.p(0.5, 0.5))
- app:showWaitDialog(view, 0, true);
- --计算坐标偏移
- local node = self.ui.Items.Button_more;
- local worldPos = node:getWorldPosition();
- local viewContentSize = view.ui:getSize()
- --X坐标
- local x = worldPos.x - node:getContentSize().width / 2 - 10; --10个像素间距
- local y = worldPos.y
-
- --yhj:临界处理
- --按钮离屏幕底部的距离
- local fromBtnToBottomY = worldPos.y
- --viewContentSize的一半如果大于fromBtnToBottomY则有一部分的菜单按钮显示到了屏幕外
- local distanBottom = viewContentSize.height/2 - fromBtnToBottomY
- if distanBottom > 0 then
- y = worldPos.y + distanBottom
- end
- --同样的考虑菜单过长时候,离顶部是否超越屏幕
- local fromBtnToTopY = getWinSize().height - worldPos.y
- local distanTop = viewContentSize.height/2 - fromBtnToTopY
- if distanTop > 0 then
- y = worldPos.y - distanTop
- end
-
- view:setPosition(cc.p(x, y));
-
- end
-
- function ClubPlayerMatchItem:onClickAdjust()
- playBtnEffect()
- local view = import("luaScript.Views.Club.ClubPlayerMatchAdjustHongHua"):new(self.clubId,{self.player.uid},nil,self.player)
- view:setAnchorPoint(cc.p(0.5, 0.5))
- app:showWaitDialog(view);
- end
-
- function ClubPlayerMatchItem:onClickRecord()
- playBtnEffect()
- local view = import("luaScript.Views.Club.ClubPlayerMatchAdjustHongHuaRecord"):new(self.clubId,self.player)
- view:setAnchorPoint(cc.p(0.5, 0.5))
- app:showWaitDialog(view);
- end
-
- return ClubPlayerMatchItem
|