--冲级礼包领取列表
|
|
FuliLimitPackageRewardView = FuliLimitPackageRewardView or BaseClass(BaseView)
|
|
local FuliLimitPackageRewardView = FuliLimitPackageRewardView
|
|
function FuliLimitPackageRewardView:__init()
|
|
self.base_file = "fuli"
|
|
self.layout_file = "FuliLimitPackageRewardView"
|
|
self.layer_name = "Activity"
|
|
--self.use_local_view = true
|
|
self.click_bg_toClose = true
|
|
self.destroy_imm = true
|
|
self.use_background = true
|
|
self.is_set_zdepth = true
|
|
self.close_mode = CloseMode.CloseDestroy
|
|
self.model = FuliModel:getInstance()
|
|
self.mainVo = RoleManager.Instance.mainRoleInfo
|
|
self.no = false
|
|
|
|
self.item_list_one = {}
|
|
self.item_list_two = {}
|
|
|
|
self.load_callback = function ()
|
|
self:LoadSuccess()
|
|
self:AddEvents()
|
|
end
|
|
|
|
self.open_callback = function ()
|
|
GlobalEventSystem:Fire(SceneEventType.CLOSE_DIALOGUE_VIEW)
|
|
GlobalEventSystem:Fire(EventName.STOP_AUTO_DO_TASK)
|
|
GlobalEventSystem:Fire(EventName.STOPAUTOFIGHT)
|
|
self:SetData()
|
|
end
|
|
|
|
self.close_callback = function ()
|
|
|
|
end
|
|
|
|
self.destroy_callback = function ()
|
|
self:DestroySuccess()
|
|
end
|
|
|
|
self.ReOpen_callback = function ()
|
|
self:SetData()
|
|
end
|
|
end
|
|
|
|
function FuliLimitPackageRewardView:Open(no)
|
|
self.no = no
|
|
BaseView.Open(self)
|
|
end
|
|
|
|
function FuliLimitPackageRewardView:DestroySuccess()
|
|
self:ClearUIEffect(self.effect_forever)
|
|
self:ClearUIEffect(self.effect)
|
|
if self.slow_effect_id then
|
|
GlobalTimerQuest:CancelQuest(self.slow_effect_id)
|
|
self.slow_effect_id = nil
|
|
end
|
|
|
|
self:StopPlayTimer()
|
|
self:ClearRewardShow()
|
|
|
|
if self.timer_countdown then
|
|
TimerQuest.CancelQuest(GlobalTimerQuest, self.timer_countdown)
|
|
self.timer_countdown = nil
|
|
end
|
|
GlobalEventSystem:Fire(EventName.FORCE_TO_DO_TASK)
|
|
GlobalEventSystem:Fire(EventName.START_AUTO_DO_TASK)
|
|
end
|
|
|
|
function FuliLimitPackageRewardView:LoadSuccess()
|
|
local nodes = {
|
|
"center/mask_bg:obj",
|
|
"center/bg:raw",
|
|
"center/titlebg:img",
|
|
"center/tips:txt",
|
|
"center/effect_forever",
|
|
"center/effect",
|
|
"center/item_scroll_one:obj",
|
|
"center/item_scroll_one/Viewport/item_con_one",
|
|
"center/next_img/next_text:txt",
|
|
"center/line:obj",
|
|
"center/item_scroll_two:obj",
|
|
"center/item_scroll_two/Viewport/item_con_two",
|
|
"center/cur_img:obj",
|
|
"center/next_img:obj",
|
|
"center/ok_btn:obj",
|
|
"icon_cont:obj",
|
|
"center:obj"
|
|
}
|
|
self:GetChildren(nodes)
|
|
|
|
lua_resM:setOutsideRawImage(self, self.bg_raw, GameResPath.GetViewBigBg("com_award_result_view_bg"),false)
|
|
lua_resM:setOutsideImageSprite(self, self.titlebg_img, GameResPath.GetCommonImage("com_award_result_view_bg"),false)
|
|
|
|
local function onDelay()
|
|
local function end_call_func( ... )
|
|
if self.effect_forever then
|
|
self:AddUIEffect("getgoods_02",self.effect_forever, self.layer_name, nil, 1, true,nil,nil,nil)
|
|
end
|
|
end
|
|
self:AddUIEffect("getgoods_01",self.effect, self.layer_name, nil, 1, false,nil,nil,end_call_func)
|
|
end
|
|
self.slow_effect_id = GlobalTimerQuest:AddDelayQuest(onDelay, 0.1)
|
|
self.tips_txt.text = ""
|
|
end
|
|
|
|
function FuliLimitPackageRewardView:CheckLeftTime()
|
|
if self.timer_countdown then
|
|
TimerQuest.CancelQuest(GlobalTimerQuest, self.timer_countdown)
|
|
self.timer_countdown = nil
|
|
end
|
|
local leftTime = 10
|
|
local function timer_func()
|
|
leftTime = leftTime - 1
|
|
if leftTime <= 0 then
|
|
self:Continue()
|
|
else
|
|
self.tips_txt.text = string.format("%s 秒后自动关闭界面", HtmlColorTxt( leftTime, "#0CE148") )
|
|
end
|
|
end
|
|
self.timer_countdown = TimerQuest.AddPeriodQuest(GlobalTimerQuest, timer_func, 1)
|
|
timer_func()
|
|
end
|
|
|
|
function FuliLimitPackageRewardView:AddEvents()
|
|
local function click_func(target)
|
|
if target == self.mask_bg_obj then
|
|
self:Continue()
|
|
elseif target == self.ok_btn_obj then
|
|
self:Continue()
|
|
end
|
|
end
|
|
AddClickEvent(self.mask_bg_obj, click_func)
|
|
AddClickEvent(self.ok_btn_obj, click_func)
|
|
end
|
|
|
|
function FuliLimitPackageRewardView:SetData()
|
|
if not self.no then
|
|
self:Close()
|
|
return
|
|
end
|
|
self.cfg = DeepCopy(self.model:GetFuliLevelCFG(self.mainVo.career))
|
|
if not self.cfg[self.no] then
|
|
self:Close()
|
|
return
|
|
end
|
|
|
|
|
|
local list_one = self.cfg[self.no].award_limit_list or self.cfg[self.no].award_list
|
|
if #list_one > 0 then
|
|
for i,v in ipairs(list_one) do
|
|
local item = self.item_list_one[i]
|
|
if item == nil then
|
|
item = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem, self.item_con_one)
|
|
self.item_list_one[i] = item
|
|
end
|
|
if v.is_limit then
|
|
item:SetNumLimitVisible( true, 4 )
|
|
item:SetData(v[2], 1, nil, nil)
|
|
else
|
|
item:SetNumLimitVisible( false )
|
|
item:SetData(v[2], v[3], nil, nil)
|
|
end
|
|
item:SetItemSize(84, 84)
|
|
item:SetVisible(true)
|
|
item:SetAnchoredPosition((i - 1) * 95 + 8,-8)
|
|
end
|
|
end
|
|
SetSizeDeltaX(self.item_con_one, 95 * #list_one)
|
|
|
|
if self.no + 1 > #self.cfg then
|
|
self.item_scroll_two_obj:SetActive(false)
|
|
self.next_img_obj:SetActive(false)
|
|
self.line_obj:SetActive(false)
|
|
self.ok_btn_obj:SetActive(false)
|
|
SetAnchoredPositionY(self.item_scroll_one, -40)
|
|
SetAnchoredPositionY(self.cur_img, -38)
|
|
|
|
else
|
|
local list_two = self.cfg[self.no + 1].award_limit_list or self.cfg[self.no + 1].award_list
|
|
if #list_two > 0 then
|
|
for i,v in ipairs(list_two) do
|
|
local item = self.item_list_two[i]
|
|
if item == nil then
|
|
item = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem, self.item_con_two)
|
|
self.item_list_two[i] = item
|
|
end
|
|
if v.is_limit then
|
|
item:SetNumLimitVisible( true, 4 )
|
|
item:SetData(v[2], 1, nil, nil)
|
|
else
|
|
item:SetNumLimitVisible( false )
|
|
item:SetData(v[2], v[3], nil, nil)
|
|
end
|
|
item:SetItemSize(84, 84)
|
|
item:SetVisible(true)
|
|
item:SetAnchoredPosition((i - 1) * 95 + 8,-8)
|
|
end
|
|
end
|
|
SetSizeDeltaX(self.item_con_two, 95 * #list_two)
|
|
|
|
self.item_scroll_two_obj:SetActive(true)
|
|
self.next_img_obj:SetActive(true)
|
|
self.line_obj:SetActive(true)
|
|
self.ok_btn_obj:SetActive(true)
|
|
SetAnchoredPositionY(self.item_scroll_one, 40)
|
|
SetAnchoredPositionY(self.cur_img, 42)
|
|
|
|
self.next_text_txt.text = tostring(self.cfg[self.no + 1].level)
|
|
end
|
|
self:CheckLeftTime()
|
|
end
|
|
|
|
|
|
function FuliLimitPackageRewardView:UpdateItemList( )
|
|
|
|
end
|
|
|
|
|
|
function FuliLimitPackageRewardView:StopPlayTimer()
|
|
if self.award_timer_id then
|
|
GlobalTimerQuest:CancelQuest(self.award_timer_id)
|
|
self.award_timer_id = nil
|
|
end
|
|
end
|
|
|
|
--删除奖励
|
|
function FuliLimitPackageRewardView:ClearRewardShow()
|
|
for i,item in pairs(self.item_list_one) do
|
|
UIObjPool:getInstance():PushItem(UIObjPool.UIType.AwardItem, item)
|
|
end
|
|
self.item_list_one = {}
|
|
|
|
for i,item in pairs(self.item_list_two) do
|
|
UIObjPool:getInstance():PushItem(UIObjPool.UIType.AwardItem, item)
|
|
end
|
|
self.item_list_two = {}
|
|
end
|
|
|
|
function FuliLimitPackageRewardView:InitActoin()
|
|
self.image_obj = UiFactory.createChild(self.icon_cont, UIType.ImageExtend)
|
|
self.image_icon = self.image_obj:GetComponent("ImageExtend")
|
|
SetLocalPosition(self.image_obj.transform, 0, 0, 0)
|
|
lua_resM:setImageSprite(self, self.image_icon, "activityIcon_asset", "icon_jl_1", true)
|
|
self.image_obj.transform.sizeDelta = Vector2(60, 60)
|
|
end
|
|
|
|
--动画开始
|
|
function FuliLimitPackageRewardView:PlayAction( )
|
|
local callback = function()
|
|
self:Close()
|
|
end
|
|
local pos = ActivityIconManager:getInstance():GetActivityIconPos(16000)
|
|
if pos and self.image_obj then
|
|
self.center_obj:SetActive(false)
|
|
self.icon_cont_obj:SetActive(true)
|
|
self.tween_id = TweenLite.to(self, self.image_obj.transform, TweenLite.UiAnimationType.POS, pos, 0.8, callback)
|
|
else
|
|
callback()
|
|
end
|
|
end
|
|
|
|
function FuliLimitPackageRewardView:Continue()
|
|
self:InitActoin()
|
|
self:PlayAction()
|
|
end
|