SupremeVipTrainDrugExchangeView = SupremeVipTrainDrugExchangeView or BaseClass(BaseItem) local SupremeVipTrainDrugExchangeView = SupremeVipTrainDrugExchangeView function SupremeVipTrainDrugExchangeView:__init() self.base_file = "supremeVip" self.layout_file = "SupremeVipTrainDrugExchangeView" self.model = SupremeVipModel:getInstance() self:Load() end function SupremeVipTrainDrugExchangeView:Load_callback() self.nodes = { "des1Img:img", "des2Img:img:obj", "ScrollView", "ScrollView/Viewport/Content", "desc:tmp:obj", "active_btn:obj", "bg1:img", "leftTimes:tmp", } self:GetChildren(self.nodes) -- self.desc_tmp.text = SupremeVipConst.ViewDesc[SupremeVipConst.RED_DOT_TYPE.TrainDrugExchange] or "" lua_resM:setOutsideImageSprite(self,self.bg1_img,GameResPath.GetSupremeVipIcon("supremeVip_right_bg_long"),false,nil) lua_resM:setOutsideImageSprite(self,self.des1Img_img,GameResPath.GetSupremeVipIcon("supremeVip_des_1_pointfilter"),false,nil) -- lua_resM:setOutsideImageSprite(self,self.des2Img_img,GameResPath.GetSupremeVipIcon("supremeVip_des_3_pointfilter"),false,nil) self:AddEvents() if self.need_refreshData then self:UpdateView() end end function SupremeVipTrainDrugExchangeView:AddEvents( ) local on_click = function ( click_obj ) if self.active_btn_obj == click_obj then self.model:Fire(SupremeVipConst.OPEN_SUPREME_VIP_BUY_VIEW) end end AddClickEvent(self.active_btn_obj, on_click,1) --刷新兑换剩余次数 local function update_exchange_rest_counts() self:UpdateExchangeRestCounts() end self:BindEvent(self.model, SupremeVipConst.REFRESH_EXCHANGE_REST_COUNTS,update_exchange_rest_counts) end function SupremeVipTrainDrugExchangeView:UpdateView( ) self:UpdateExchangeRestCounts() self:UpdateTrainDrugCon() local sup_vip_type = RoleManager.Instance.mainRoleInfo.sup_vip_type -- self.bg_obj:SetActive(sup_vip_type == 2) -- self.des2Img_obj:SetActive(sup_vip_type < 2) -- self.active_btn_obj:SetActive(sup_vip_type < 2) -- self.desc_obj:SetActive(sup_vip_type == 2) end --刷新剩余次数 function SupremeVipTrainDrugExchangeView:UpdateExchangeRestCounts( ) local sup_vip_type = RoleManager.Instance.mainRoleInfo.sup_vip_type if sup_vip_type == 2 then self.rest_counts = self.model:GetExchangeRestCount(SupremeVipConst.ExchangeType.TrainDrug) local num_color = self.rest_counts == 0 and ColorUtil.RED_DARK or ColorUtil.GREEN_TIPS self.leftTimes_tmp.text = string.format("今日剩余:<%s>%s", num_color, self.rest_counts) else self.leftTimes_tmp.text = "" end end --刷新兑换栏 function SupremeVipTrainDrugExchangeView:UpdateTrainDrugCon( ) local train_drug_cfg = self.model:GetTrainDrugExchangeTrueCfg() if not self.item_list_com then self.item_list_com = self:AddUIComponent(UI.ItemListCreator) end local info = { data_list = train_drug_cfg, item_con = self.Content, item_class = SupremeVipTrainDrugExchangeItem, item_width = SupremeVipTrainDrugExchangeItem.Width, item_height = SupremeVipTrainDrugExchangeItem.Height+5, -- space_x = 0, space_y = 0, start_x = 5, start_y = -1-5, scroll_view = self.ScrollView, create_frequency = 0.01, on_update_item = function(item, i, v) item:SetData(v,i) end, } self.item_list_com:UpdateItems(info) end function SupremeVipTrainDrugExchangeView:SetData( data ) self.data = data if self.is_loaded then self.need_refreshData = false self:UpdateView() else self.need_refreshData = true end end function SupremeVipTrainDrugExchangeView:__delete( ) end