RoleVipItem = RoleVipItem or BaseClass(BaseItem) local RoleVipItem = RoleVipItem function RoleVipItem:__init(parent_wnd) self.base_file = "uiComponent" self.layout_file = "RoleVipItem" self.parent = parent_wnd self.pos_x = 0 self.pos_y = 0 self.gray = false self.force_show_vip_zero = false self:Load() end function RoleVipItem:Load_callback() self.nodes = { "vip:img:obj", } self:GetChildren(self.nodes) self:AddEvents() if self.need_reset_scale then self:SetScale(self.scale_x,self.scale_y) end if self.need_refreshData then self:UpdateView() end if self.need_reset_pos then self:SetPosition(self.pos_x,self.pos_y) end if self.need_reset_gray then self:SetGray(self.gray) end end function RoleVipItem:AddEvents( ) end function RoleVipItem:UpdateView( ) if self.vip_flag then if self.vip_flag == 0 then if self.force_show_vip_zero then self.vip_obj:SetActive(true) lua_resM:setImageSprite(self, self.vip_img, "vipExtra_asset", "vip_"..self.vip_flag) else self.vip_obj:SetActive(false) --加载empty常常出问题,直接satActive(false)一劳永逸 -- lua_resM:setImageSprite(self, self.vip_img, "uiComponent_asset", "com_empty") end else self.vip_obj:SetActive(true) if self.sup_vip_type and self.sup_vip_type == 1 then lua_resM:setImageSprite(self, self.vip_img, "vipExtra_asset", "e_vip_"..self.vip_flag) elseif self.sup_vip_type and self.sup_vip_type == 2 then lua_resM:setImageSprite(self, self.vip_img, "vipExtra_asset", "s_vip_"..self.vip_flag) else lua_resM:setImageSprite(self, self.vip_img, "vipExtra_asset", "vip_"..self.vip_flag) end end else self.vip_obj:SetActive(false) -- lua_resM:setImageSprite(self, self.vip_img, "uiComponent_asset", "com_empty") end end --force_show_vip_zero展示vip0的情况 function RoleVipItem:SetData(vip_flag,sup_vip_type,force_show_vip_zero) self.vip_flag = vip_flag --vip级别 self.sup_vip_type = sup_vip_type --贵族标识 0|非贵族 1|体验 2|永久 self.force_show_vip_zero = force_show_vip_zero if self.is_loaded then self.need_refreshData = false self:UpdateView() else self.need_refreshData = true end end function RoleVipItem:SetPosition(pos_x,pos_y) self.pos_x = pos_x self.pos_y = pos_y if self.is_loaded then self.need_reset_pos = false SetAnchoredPosition(self.transform,self.pos_x,self.pos_y) else self.need_reset_pos = true end end function RoleVipItem:SetGray(bool) self.gray = bool if self.is_loaded then self.need_reset_gray = false SetImageGray(self.vip_img,bool) else self.need_reset_gray = true end end function RoleVipItem:SetScale(scale_x,scale_y) self.scale_x = scale_x self.scale_y = scale_y if self.is_loaded then self.need_reset_scale = false self.transform.localScale = Vector2(scale_x, scale_y) else self.need_reset_scale = true end end function RoleVipItem:__delete( ) end