ChatDressVerTabItem = ChatDressVerTabItem or BaseClass(BaseItem)
|
|
local ChatDressVerTabItem = ChatDressVerTabItem
|
|
|
|
function ChatDressVerTabItem:__init()
|
|
self.base_file = "chatDress"
|
|
self.layout_file = "ChatDressVerTabItem"
|
|
self.model = ChatDressModel:GetInstance()
|
|
|
|
self:Load()
|
|
end
|
|
|
|
function ChatDressVerTabItem:Load_callback()
|
|
self.nodes = {
|
|
"select_image:obj","icon_image:img","name_text:tmp","click_con:obj","red_image:obj",
|
|
}
|
|
self:GetChildren(self.nodes)
|
|
|
|
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:UpdateView()
|
|
end
|
|
if self.need_reselect then
|
|
self:SetSelect(self.is_select)
|
|
end
|
|
if self.need_refreshRed then
|
|
self:SetRedDot()
|
|
end
|
|
end
|
|
|
|
function ChatDressVerTabItem:AddEvents( )
|
|
local function onClick(target,x,y)
|
|
if target == self.click_con_obj then
|
|
self.call_back(self.index)
|
|
end
|
|
end
|
|
AddClickEvent(self.click_con_obj,onClick)
|
|
|
|
local function on_update_red( )
|
|
self:SetRedDot()
|
|
end
|
|
self.on_update_red_id = self.model:BindOne("red_data", on_update_red)
|
|
end
|
|
|
|
function ChatDressVerTabItem:UpdateView( )
|
|
self.name_text_tmp.text = self.data.name
|
|
lua_resM:setImageSprite(self, self.icon_image_img, "chatDress_asset", "chatDress_type"..self.index, true)
|
|
self:SetRedDot()
|
|
end
|
|
|
|
function ChatDressVerTabItem:SetSelect( bool )
|
|
self.is_select = bool
|
|
if self.is_loaded then
|
|
self.need_reselect = false
|
|
self.select_image_obj:SetActive(bool)
|
|
local color = bool and ColorUtil:ConvertHexToRGBColor("ffffff") or ColorUtil:ConvertHexToRGBColor("a9c1e1")
|
|
self.name_text_tmp.color = color
|
|
else
|
|
self.need_reselect = true
|
|
end
|
|
end
|
|
|
|
function ChatDressVerTabItem:SetRedDot( )
|
|
local bool = self.model:ShowSubRedPoint(self.data.id)
|
|
self.need_red = bool
|
|
if self.is_loaded then
|
|
self.need_refreshRed = false
|
|
self.red_image_obj:SetActive(bool)
|
|
else
|
|
self.need_refreshRed = true
|
|
end
|
|
end
|
|
|
|
function ChatDressVerTabItem:SetData( index, data, call_back)
|
|
self.index = index
|
|
self.data = data
|
|
self.call_back = call_back
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self:UpdateView()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function ChatDressVerTabItem:__delete( )
|
|
if self.on_update_red_id then
|
|
self.model:UnBind(self.on_update_red_id)
|
|
self.on_update_red_id = nil
|
|
end
|
|
end
|