|
|
- 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
|