源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

224 lines
6.0 KiB

EquipCollectTipView = EquipCollectTipView or BaseClass(BaseView)
local EquipCollectTipView = EquipCollectTipView
--[[
EquipCollectTipView.TabData = {
[1] = {name = "人物", level = MainRoleModel.TabOpenLevel[1]},
}
--]]
function EquipCollectTipView:__init()
self.base_file = "equipCollect"
self.layout_file = "EquipCollectTipView"
self.layer_name = "Top"
self.destroy_imm = true
self.use_background = false --全屏界面默认使用这个参数
--self.hide_maincancas = true --全屏界面需要放开隐藏主UI
self.change_scene_close = true
self.append_to_ctl_queue = false --是否要添加进界面堆栈
self.need_show_money = false --是否要显示顶部的金钱栏
self.model = EquipCollectModel:getInstance()
self.hide_time = 2--关闭倒计时
self.item_list = {}
self.load_callback = function ()
self:LoadSuccess()
self:AddEvent()
end
self.open_callback = function ( )
self:OpenSuccess()
end
self.switch_callback = function(index)
self:SwitchTab(index)
end
self.destroy_callback = function ( )
self:DestroySuccess()
end
end
function EquipCollectTipView:Open(data)
self.data = data
BaseView.Open(self)
end
function EquipCollectTipView:ReOpen( data )
self.data = data
self:UpdateView()
end
function EquipCollectTipView:LoadSuccess()
local nodes = {
"item_con", "bg:raw", "title:img",
}
self:GetChildren(nodes)
self.canvasGroup = self.gameObject:GetComponent("CanvasGroup")
lua_resM:setOutsideRawImage(self, self.bg_raw, GameResPath.GetViewBigBg("equip_collect_tip_bg"), false)
if AchieveModel:getInstance().tip_view_show then
self.transform.anchoredPosition = Vector2(-3, 211)
else
self.transform.anchoredPosition = Vector2(-3, 61)
end
end
function EquipCollectTipView:AddEvent()
end
function EquipCollectTipView:OpenSuccess()
self:UpdateView()
self:StartCloseTimer()
self:OpenAnimation() -- 播放打开界面的动画
end
-- 播放打开界面的动画
function EquipCollectTipView:OpenAnimation()
self.canvasGroup.alpha = 0
if self.alpha_anim_id then
TweenLite.Stop(self.alpha_anim_id)
self.alpha_anim_id = nil
end
self.alpha_anim_id = TweenLite.to(self, self.canvasGroup, TweenLite.UiAnimationType.ALPHA, 1, 0.2)
end
-- 关闭(隐藏)界面的动画
function EquipCollectTipView:CloseAnimation()
self.canvasGroup.alpha = 1
if self.alpha_anim_id then
TweenLite.Stop(self.alpha_anim_id)
self.alpha_anim_id = nil
end
self.alpha_anim_id = TweenLite.to(self, self.canvasGroup,TweenLite.UiAnimationType.ALPHA, 0, 0.5)
local pos_y = self.transform.anchoredPosition.y + 100
if self.pos_id then
TweenLite.Stop(self.pos_id)
self.pos_id = nil
end
local function callback( )
self:Close()
end
self.pos_id = TweenLite.to(self, self.transform, TweenLite.UiAnimationType.ANCHORED_POSY, pos_y, 0.5, callback)
end
function EquipCollectTipView:CloseAnimation2( )
self.canvasGroup.alpha = 1
if self.alpha_anim_id then
TweenLite.Stop(self.alpha_anim_id)
self.alpha_anim_id = nil
end
self.alpha_anim_id = TweenLite.to(self, self.canvasGroup,TweenLite.UiAnimationType.ALPHA, 0, 0.5)
local pos_y = self.transform.anchoredPosition.y + 100
if self.pos_id then
TweenLite.Stop(self.pos_id)
self.pos_id = nil
end
local function callback( )
self:Close()
end
self.pos_id = TweenLite.to(self, self.transform, TweenLite.UiAnimationType.ANCHORED_POS, Vector2(-330,720), 0.5, callback)
if self.scale_id then
TweenLite.Stop(self.scale_id)
self.scale_id = nil
end
local function callback( )
self:Close()
end
self.scale_id = TweenLite.to(self, self.transform, TweenLite.UiAnimationType.SCALE, Vector3(0.1,0.1,0.1), 0.5, callback)
end
function EquipCollectTipView:StartCloseTimer( )
local end_time = self.hide_time + TimeUtil:getServerTime()
local function hide_timer()
local left_time = end_time - TimeUtil:getServerTime()
if left_time < 0 then
if self.is_full then
self:CloseAnimation2()
else
self:CloseAnimation()
end
self:ClearHideTimer()
end
end
hide_timer()
if not self.hide_timer_id then
self.hide_timer_id = GlobalTimerQuest:AddPeriodQuest(hide_timer, 0.1, -1)
end
end
function EquipCollectTipView:UpdateView()
local server_data = self.model:GetEquipCollectTipData(self.data.id)
lua_resM:setImageSprite(self, self.title_img, "equipCollect_asset","equipCollect_name_font"..self.data.id)
local count = 0
local need_action_data = nil
for i,v in ipairs(server_data) do
if v.type_id > 0 then
count = count + 1
end
if v.need_action then
need_action_data = DeepCopy(v)
need_action_data.index = i
end
end
self.is_full = count == 7
-- self.is_full = true
local x_offset = 68
for i=1,7 do
local item = self.item_list[i]
if not item then
item = EquipCollectTipItem.New(self.item_con)
item:SetPosition(x_offset*(i-1), 1)
self.item_list[i] = item
end
item:SetData(server_data[i])
end
self:StartFlyInAction(need_action_data)--开始飞进来的动画
end
function EquipCollectTipView:StartFlyInAction( need_action_data )
if not need_action_data or self.is_action then
return
end
if not self.action_item then
self.action_item = EquipCollectTipItem.New(self.item_con)
need_action_data.need_action = false
self.action_item:SetData(need_action_data)
end
self.action_item:StartAction(need_action_data)
end
function EquipCollectTipView:ClearHideTimer( )
if self.hide_timer_id then
GlobalTimerQuest:CancelQuest(self.hide_timer_id)
self.hide_timer_id = nil
end
end
function EquipCollectTipView:DestroySuccess( )
self:ClearHideTimer()
if self.delay_closeview_id then
TimerQuest.CancelQuest(GlobalTimerQuest,self.delay_closeview_id)
self.delay_closeview_id = nil
end
if self.alpha_anim_id then
TweenLite.Stop(self.alpha_anim_id)
self.alpha_anim_id = nil
end
if self.pos_id then
TweenLite.Stop(self.pos_id)
self.pos_id = nil
end
if self.scale_id then
TweenLite.Stop(self.scale_id)
self.scale_id = nil
end
for i,v in ipairs(self.item_list) do
v:DeleteMe()
v = nil
end
self.item_list = {}
if self.action_item then
self.action_item:DeleteMe()
self.action_item = nil
end
end