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
|