|
|
- CecretChatItem = CecretChatItem or BaseClass(BaseItem)
- function CecretChatItem:__init()
- self.base_file = "chat"
- self.layout_file = "cecretChatItem"
- self.model = ChatModel:getInstance()
- self.vo = nil
- self.index = nil
- self:Load()
- end
- function CecretChatItem:Load_callback()
- self.headIcon = self:GetChild("headIcon"):GetComponent("Image")
- self.deleteBtn = self:GetChild("deleteBtn").gameObject
- self.chatBtn = self:GetChild("chatBtn").gameObject
- self.titleIcon = self:GetChild("titleIcon"):GetComponent("Image")
- self.nameText = self:GetChild("nameText"):GetComponent("Text")
- self.levelText = self:GetChild("levelText"):GetComponent("Text")
- self.vipIcon = self:GetChild("vipIcon"):GetComponent("Image")
- self.vip_con = self:GetChild("vipIcon").gameObject
- self.redPoint = self:GetChild("redPoint").gameObject
- self.amount = self:GetChild("redPoint/amount"):GetComponent("Text")
- self.title_con = self:GetChild("titleIcon")
- self.name_con = self:GetChild("nameText")
- if self.need_refreshData then
- self:SetData()
- end
-
- local function onClickBtnHandler(target)
- if target == self.deleteBtn then
- local function ok()
- self.model:Fire(ChatModel.DELETE_CECRET_CHAT_ITEM,self.index,self.vo.key_id)
- end
- Alert.show("是否确定删除?",Alert.Type.Two,ok)
- elseif target == self.chatBtn then
- if self.vo then
- GlobalEventSystem:Fire(EventName.OPEN_CHAT_CECRET_CHANNEL,self.vo.key_id,self.vo.key_name)
- end
- end
- end
- AddClickEvent(self.deleteBtn,onClickBtnHandler)
- AddClickEvent(self.chatBtn,onClickBtnHandler)
- end
-
- function CecretChatItem:SetData(index,vo)
- self.vo = vo or self.vo
- self.index = index or self.index
- local info = self:GetPlayerInfo()
-
- if info == nil then return end
-
- self.vo.key_name = info.name
- self.vo.key_vip = info.vip_flag
- self.vo.key_touxian = info.touxian
-
- if self.is_loaded then
- self.need_refreshData = false
- self.nameText.text = info.name
- self.levelText.text = info.level
- lua_resM:setImageSprite(self,self.headIcon,"mainUI_asset","head_circle_" .. info.career, true)
-
- local result,num = self.model:NeedShowCecretItemRedPoint(self.vo.key_id)
- self:SetRedPointState(result,num)
-
- local config = Config.Title[self.vo.key_touxian]
- if config then
- RoleTitleModel:getInstance():SetTitleImage(self,self.titleIcon,config.icon_name)
- end
- self:SetPositionFormat()
- self.transform.localPosition = Vector3(0, -(self.index-1) * 100, 0)
- else
- self.need_refreshData = true
- end
- end
-
- --设置VIP 头衔 位置的格式
- function CecretChatItem:SetPositionFormat()
- if self.vo then
- local is_vip = self.vo.key_vip > 0
- local x = is_vip and 140 or 105
- self.vip_con:SetActive(is_vip)
- if self.vo.key_touxian == 0 then
- self.title_con.gameObject:SetActive(false)
- self.name_con.localPosition = Vector3(x ,-34,0)
- else
- self.title_con.gameObject:SetActive(true)
- self.title_con.localPosition = Vector3(x ,-32,0)
- self.name_con.localPosition = Vector3(x + self.titleIcon.preferredWidth + 14,-34,0)
- end
- end
- end
-
- function CecretChatItem:SetSelect(bool)
- end
-
- function CecretChatItem:ShowRedPoint()
- if self.redPoint ~= nil then
- self.redPoint:SetActive(true)
- end
- end
-
- function CecretChatItem:HideRedPoint()
- if self.redPoint ~= nil then
- self.redPoint:SetActive(false)
- end
- end
-
- function CecretChatItem:SetRedPointState(result,num)
- if result then
- self:ShowRedPoint()
- self.amount.text = num
- else
- self:HideRedPoint()
- end
- end
-
- function CecretChatItem:GetPlayerInfo()
- if self.vo ~= nil then
- if self.vo.key_id == self.vo.player_list[1].player_id then
- return self.vo.player_list[1]
- else
- return self.vo.player_list[2]
- end
- end
- end
|