源战役客户端
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 
 

165 рядки
6.1 KiB

ChildHandbookSuitRewardItem = ChildHandbookSuitRewardItem or BaseClass(BaseItem)
function ChildHandbookSuitRewardItem:__init()
self.base_file = "child"
self.layout_file = "ChildHandbookSuitRewardItem"
self.is_delay_callback = true
-- self.use_local_view = true
self.model = ChildModel:GetInstance()
self.suitInfoList = self.model:GetToySuitInfo()
self.awardItems = {}
self:Load()
end
function ChildHandbookSuitRewardItem:Load_callback()
self.nodes = {
"had_con:obj", "lock_con:obj", "dis_had_con:obj",
"txt_name:tmp",
"dis_had_con/btn_get:obj",
"lock_con/loading_num:tmp",
"had_con/text_time:tmp",
"itemCon:obj",
"dis_had_con/btn_get/red_dot:obj",
"had_con/text_descrb2:tmp",
"icon:img",
"had_con/light:img",
"lock_con/light2:img",
"bg2:img",
"bg:img",
"line:obj",
"txt_name_gray:tmp",
}
self:GetChildren(self.nodes)
self:InitEvent()
if self.need_refreshData then
self:SetData(self.data, self.is_last)
-- self:SetChosen(self.isChosen)
self:SetRedDot(self.isRedDot)
end
lua_resM:setOutsideImageSprite(self, self.bg_img, GameResPath.GetChildIcon("child_hb_reward_item_bg"), false)
lua_resM:setOutsideImageSprite(self, self.bg2_img, GameResPath.GetChildIcon("child_hb_reward_item_bg2"), false)
lua_resM:setOutsideImageSprite(self, self.light_img, GameResPath.GetChildIcon("child_hb_reward_item_bg3"), false)
lua_resM:setOutsideImageSprite(self, self.light2_img, GameResPath.GetChildIcon("child_hb_reward_item_bg3"), false)
end
function ChildHandbookSuitRewardItem:InitEvent()
local function onBtnClickHandler(target, x, y)
if target == self.btn_get_obj then
--self.callback(self)
self.model:Fire(ChildConst.CHILD_REQ_EVENT, 16535,self.data.suit_type)
self.need_check_effect = true
self.last_get_status = self.data.status
end
end
AddClickEvent(self.btn_get_obj, onBtnClickHandler)
end
function ChildHandbookSuitRewardItem:SetData(data,is_last)
self.data = data or self.data
--self.callback = callback or self.callback
self.is_last = is_last or self.is_last
if self.is_loaded then
if not self.data then return end
local collect_reward_list = {}
for k,v in pairs(self.suitInfoList) do
if v.suit_type == self.data.suit_type then
self.name_str = Trim(v.suit_name)
self.text_descrb2_tmp.text = v.suit_name .. "全收集!"
collect_reward_list = v.collect_reward
end
end
if self.need_check_effect then
self.need_check_effect = false
if (not self.is_in_effect) and self.last_get_status ~= 2 and self.data.status == 2 then
self.last_get_status = nil
self.is_in_effect = true
local function call_back( )
self.is_in_effect = false
end
self:ClearUIEffect(self.bg2)
self:AddUIEffect("ui_hunliqiudianliang", self.bg2, "Activity", Vector3(0, 0 ,0), 7, false, 0.6, nil, call_back)
end
end
self.had_con_obj:SetActive(false)
self.lock_con_obj:SetActive(false)
SetImageGray(self.bg2_img, false)
self.dis_had_con_obj:SetActive(false)
self.itemCon_obj:SetActive(true)
self.line_obj:SetActive(not self.is_last)
--------------------------
collect_reward_list = stringtotable(collect_reward_list)
for k,v in pairs(collect_reward_list) do
if self.awardItems[k] == nil then
self.awardItems[k] = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem,self.itemCon)--AwardItem.New(self.Content_reward)--
self.awardItems[k]:SetItemSize(62, 62)
self.awardItems[k].transform.pivot = Vector2(0, 1)
end
self.awardItems[k]:SetData(v[2],v[3])
end
-- logWarn('=======Msh:ChildHandbookSuitRewardItem.lua[86]=======')
-- PrintTable(self.data)
-- 设置图标
local res_id = "toy_icon_" .. self.data.suit_type
lua_resM:setOutsideImageSprite(self, self.icon_img, GameResPath.GetChildToyImgIcon(res_id), true)
-----------------------------
if self.data.status == 0 then
self.lock_con_obj:SetActive(true)
SetImageGray(self.bg2_img, true)
SetImageGray(self.icon_img, true)
self.txt_name_gray_tmp.text = self.name_str
self.txt_name_tmp.text = ""
--local is_enought = self.data.progress >= self.data.collectMaxNum
local txt_progress = HtmlColorTxt(self.data.progress, ColorUtil.GREEN_DARK )
self.loading_num_tmp.text = "完成进度:".. txt_progress.."/"..self.data.collectMaxNum
elseif self.data.status == 1 then --可领
self.dis_had_con_obj:SetActive(true)
self.txt_name_gray_tmp.text = ""
self.txt_name_tmp.text = self.name_str
elseif self.data.status == 2 then
self.had_con_obj:SetActive(true)
self.itemCon_obj:SetActive(false)
self.text_time_tmp.text = TimeUtil:timeConversion(self.data.time, "yyyy.mm.dd hh:mm")
self.txt_name_gray_tmp.text = ""
self.txt_name_tmp.text = self.name_str
end
else
self.need_refreshData = true
end
end
function ChildHandbookSuitRewardItem:SetChosen(bool)
self.isChosen = bool
if self.is_loaded then
if bool then
self.chosen_obj:SetActive(true)
else
self.chosen_obj:SetActive(false)
end
else
self.need_refreshData = true
end
end
function ChildHandbookSuitRewardItem:SetRedDot(bool)
self.isRedDot = bool
if self.is_loaded then
self.red_dot_obj:SetActive(self.isRedDot)
else
self.need_refreshData = true
end
end
function ChildHandbookSuitRewardItem:__delete( )
for i=1,#self.awardItems do
if self.awardItems[i] then
UIObjPool:getInstance():PushItem(UIObjPool.UIType.AwardItem, self.awardItems[i])
self.awardItems[i] = nil
end
end
end