|
- -- 玩家列表ItemLayout
- local ClubPlayerMatchHeHuoRenItem = class("ClubPlayerMatchHeHuoRenItem");
- local ClubDefine = require("luaScript.Protocol.Club.ClubDefine")
-
- function ClubPlayerMatchHeHuoRenItem:ctor(player,clubId,index,lastPlayer,callback)
- self.ui = loadUI("res/ui/ui_club/ui_club_player_match_hehuoren_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);
-
- --茶馆群id
- self.clubId = clubId
- self.clubInfo = app.club_php.clubList[clubId]
- self.player = player
- self.operatorId = app.user.loginInfo.uid
- self.index = index
- self.role = lastPlayer.role
- self.lastPlayer = lastPlayer
- self.callback = callback
-
- self:updatePlayer()
- end
-
- function ClubPlayerMatchHeHuoRenItem: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]))
-
- --成员状态(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));
-
- --操作按钮
- --[[ if playerInfo.role == ClubDefine.Job.LevelOneCopartner
- or (self.role == ClubDefine.Job.LevelTwoCopartner and playerInfo.role == ClubDefine.Job.LevelTwoCopartner)then
- self.ui.Items.Button_more:setVisible(true)
- else
- self.ui.Items.Button_more:setVisible(true)
- end--]]
-
- end
-
- function ClubPlayerMatchHeHuoRenItem:onClickMore()
- playBtnEffect()
- local tagType = ClubDefine.PlayListType.MATCH_LV_1_COPARTNER_MEMBER
- if self.role == ClubDefine.Job.LevelTwoCopartner then
- tagType = ClubDefine.PlayListType.MATCH_LV_2_COPARTNER_MEMBER
- end
- if not self.player then
- logD("ClubPlayerMatchHeHuoRenItem:onClickMore player isNOExist")
- return
- end
- local view = import("luaScript.Views.Club.ClubPlayerMatchOperatMenu"):new(self.player,self.clubId,tagType,self.lastPlayer.uid,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
-
-
- return ClubPlayerMatchHeHuoRenItem
|