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
|