|
|
- 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
|