-- <* -- @Author: Saber -- @Description: 圣物系统奖励预览界面子节点 -- *> PsionicDrawPreviewItem = PsionicDrawPreviewItem or BaseClass(BaseItem) local PsionicDrawPreviewItem = PsionicDrawPreviewItem function PsionicDrawPreviewItem:__init(parent_wnd,prefab_asset,layer_name) self.base_file = "psionic" self.layout_file = "PsionicDrawPreviewItem" self.parent_wnd = parent_wnd self.layer_name = layer_name self.height = 0 self.model = PsionicModel:getInstance() self:Load() end function PsionicDrawPreviewItem:Load_callback() local nodes = { "title_con:obj", "title_con/title_lb:tmp", "item_con:obj", } self:GetChildren(nodes) self:AddEvents() if self.need_refreshData then self:UpdateView() end end function PsionicDrawPreviewItem:AddEvents( ) end function PsionicDrawPreviewItem:SetData( data ) self.data = data if self.is_loaded then self.need_refreshData = false self:UpdateView() else self.need_refreshData = true end return self.height end function PsionicDrawPreviewItem:UpdateView( ) if self.data then if self.data.title then self.title_con_obj:SetActive(true) self.title_lb_tmp.text = self.data.title self.height = 36 elseif self.data.reward then self.title_con_obj:SetActive(false) self.height = math.ceil(#self.data.reward / 6) * 76 SetSizeDelta(self.item_con, 6 * 76 + 6, self.height) self.reward_item_creator = self.reward_item_creator or self:AddUIComponent(UI.ItemListCreator) local info = { data_list = self.data.reward, scroll_view = self.item_con, item_con = self.item_con, obj_pool_type = UIObjPool.UIType.AwardItem, item_width = 62, item_height = 62, start_x = 6, start_y = -4.5, space_x = 14, space_y = 14, create_frequency = 0.01, alignment = UnityEngine.TextAnchor.UpperLeft, on_update_item = function(item, i, v) item:SetItemSize(62, 62) item:SetData(v[2]) end, } self.reward_item_creator:UpdateItems(info) end end end function PsionicDrawPreviewItem:__delete( ) end