|
|
- ComboxItem = ComboxItem or BaseClass(BaseItem)
- local ComboxItem = ComboxItem
-
- ComboxItem.Height = 38
- function ComboxItem:__init(parent_wnd, prefab_asset, layer_name, prefab_data)
- self.base_file = prefab_asset or "uiComponent"
- if prefab_data and prefab_data.ComboxItem then
- self.layout_file = prefab_data and prefab_data.ComboxItem
- else
- self.layout_file = "ComboxItem"
- end
- self.show_red = nil
-
- self:Load()
- end
-
- function ComboxItem:Load_callback()
- self:LoadSuccess()
- end
-
- function ComboxItem:LoadSuccess()
- self.show_text = self:GetChild("text"):GetComponent(typeof(TMPro.TextMeshProUGUI))
- self.img_red_obj = self:GetChild("img_red").gameObject
- self.di_line = self:GetChild("bg_41_1")
-
- if self.width then
- self:SetWidth(self.width)
- end
-
- self:AddEvents()
- if self.need_refreshData then
- self:UpdateView()
- end
- end
-
- function ComboxItem:SetWidth(width)
- self.width = width
- if self.is_loaded then
- self.need_resetWidth = false
- SetSizeDeltaX(self.transform, self.width)
- else
- self.need_resetWidth = true
- end
- end
-
- function ComboxItem:AddEvents( )
- local function onClick(...)
- if self.callback then
- self.callback(self.index)
- end
- end
- AddClickEvent(self.gameObject,onClick)
- end
-
- function ComboxItem:UpdateView( )
- self.show_text.text = self.str
- self.img_red_obj:SetActive(self.show_red and true or false)
- end
-
- function ComboxItem:SetData(index,str,callback,show_red)
- self.index = index
- self.str = str
- self.callback = callback
- self.show_red = show_red
- if self.is_loaded then
- self.need_refreshData = false
- self:UpdateView()
- else
- self.need_refreshData = true
- end
- end
-
- function ComboxItem:__delete( )
- end
|