|
|
- ChildHeartRewardItem = ChildHeartRewardItem or BaseClass(BaseItem)
- local ChildHeartRewardItem = ChildHeartRewardItem
-
- function ChildHeartRewardItem:__init()
- self.base_file = "child"
- self.layout_file = "ChildHeartRewardItem"
- self.model = ChildModel:getInstance()
-
- self:Load()
- end
-
- function ChildHeartRewardItem:Load_callback()
- self.nodes = {
- "heartValue:tmp", "hasGetImg:obj", "canGetImg:obj", "awardCon",
- }
- self:GetChildren(self.nodes)
-
- self:AddEvents()
- self:UpdateBaseView( )
- if self.need_refreshData then
- self:UpdateView()
- end
- end
-
- function ChildHeartRewardItem:AddEvents( )
- local on_click = function ( click_obj )
- if self.canGetImg_obj == click_obj then
- if self.click_callback and self.data.reward_id then
- self.click_callback(self.data.reward_id)
- end
- end
- end
- AddClickEvent(self.canGetImg_obj, on_click)
-
- end
-
- function ChildHeartRewardItem:UpdateBaseView( )
-
- end
-
- function ChildHeartRewardItem:UpdateView( )
- if self.data then
- local data = self.data
- self.heartValue_tmp.text = data.need_exp
-
- self.is_last_reward = self.model:GetMaxHeartValue( ) == data.need_exp
- if self.is_last_reward then
- self.image_item = {}
- self.image_item.gameObject = UiFactory.createChild(self.awardCon, UIType.Image)
- self.image_item.transform = self.image_item.gameObject.transform
- self.image_item.img = self.image_item.gameObject:GetComponent("Image")
- lua_resM:setImageSprite(self, self.image_item.img, "child_asset", "child_heart_baby_icon", true)
- -- SetSizeDelta(self.image_item.transform, 78, 78)
- SetAnchoredPosition(self.image_item.transform, 0, 0)
- else
- -- 设置奖励
- local reward_data = data.reward_new[1]
- self.main_reward_item = self.main_reward_item or UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem, self.awardCon)
- self.main_reward_item:SetPosition(0, 0)
- self.main_reward_item:SetItemSize(78, 78)
- self.main_reward_item:SetVisible(true)
- local goods_Id, lock = GoodsModel:getInstance():GetMappingTypeId(reward_data[1], reward_data[2])
- local goodVo = GoodsModel:getInstance():GetGoodsBasicByTypeId(goods_Id)
- if goodVo then
- self.main_reward_item:SetData(goodVo.type_id, reward_data[3] , goodVo.color, 0, lock,true,nil)
- end
- end
-
- -- 领取状态
- local reward_status = self.model:GetHeartRewardStatus(data.reward_id)
- local info = self.model:GetChildInfo()
- local cur_heart_value = info.heart_link_exp or 0
- local need_gray = false
- if cur_heart_value >= data.need_exp then -- 可以领哦
- if reward_status == 1 then -- 已经领了
- self.canGetImg_obj:SetActive(false)
- self.hasGetImg_obj:SetActive(true)
- need_gray = true
- else -- 没有领
- self.canGetImg_obj:SetActive(true)
- self.hasGetImg_obj:SetActive(false)
- need_gray = false
- end
- else -- 还不可以领
- self.canGetImg_obj:SetActive(false)
- self.hasGetImg_obj:SetActive(false)
- need_gray = false
- end
- if self.is_last_reward then
- SetImageGray(self.image_item.img, need_gray)
- else
- self.main_reward_item:SetGray(need_gray)
- end
- end
- end
-
- function ChildHeartRewardItem:SetData( data, click_callback )
- self.data = data
- self.click_callback = click_callback
- if self.is_loaded then
- self.need_refreshData = false
- self:UpdateView()
- else
- self.need_refreshData = true
- end
- end
-
- function ChildHeartRewardItem:__delete( )
- if self.main_reward_item then
- UIObjPool:getInstance():PushItem(UIObjPool.UIType.AwardItem, self.main_reward_item)
- self.main_reward_item = nil
- end
- end
|