NewerTaskPartView = NewerTaskPartView or BaseClass(BaseView) local NewerTaskPartView = NewerTaskPartView function NewerTaskPartView:__init() self.base_file = "newerTask" self.layout_file = "NewerTaskPartView" self.layer_name = "Activity" self.destroy_imm = true self.use_background = true self.change_scene_close = true self.append_to_ctl_queue = false --是否要添加进界面堆栈 self.need_show_money = false --是否要显示顶部的金钱栏 self.model = NewerTaskModel:getInstance() self.load_callback = function () self:LoadSuccess() self:AddEvent() end self.open_callback = function ( ) self:OpenSuccess() GlobalEventSystem:Fire(EventName.STOP_AUTO_DO_TASK) end self.destroy_callback = function ( ) self:DestroySuccess() end end function NewerTaskPartView:Open( task_id ) self.task_id = task_id BaseView.Open(self) end function NewerTaskPartView:Close( ) -- if self.trigger_id then -- GuideController.Instance:TriggerHelper(GuideModel.TASK_TRIGGER_TYPE, self.trigger_id) -- end -- BaseView.Close(self) local target_pos = MainUIController.Instance:GetNewerTaskMotoPos( ) target_pos.x = target_pos.x target_pos.y = target_pos.y + 50 local target_time = 0.4 local target_scale = Vector3(0.1,0.1,0.1) local function call_back( ) -- if self.trigger_id then -- GuideController.Instance:TriggerHelper(GuideModel.TASK_TRIGGER_TYPE, self.trigger_id) -- end GlobalEventSystem:Fire(NewerTaskConst.OPEN_MAIN_VIEW, true, true) BaseView.Close(self) end if self.get_btn.transform then self:ClearUIEffect(self.get_btn.transform) end TweenLite.to(self, self.cont.transform, TweenLite.UiAnimationType.POS, target_pos, target_time) TweenLite.to(self, self.cont.transform, TweenLite.UiAnimationType.SCALE, target_scale, target_time, call_back) end function NewerTaskPartView:LoadSuccess() self.nodes = { "cont", "cont/get_btn:obj", "cont/icon:img", "cont/title:tmp", "cont/desc:tmp", "cont/effect" } self:GetChildren(self.nodes) if not IsNull(self.background_wnd) then SetLocalScale(self.background_wnd.transform, 1.5, 1.5, 1.5) end self.transform.anchoredPosition = Vector2(0, -60) self:AddCloseTimer() end function NewerTaskPartView:AddEvent() local function on_click( obj ) if obj == self.get_btn_obj then self:Close() end end AddClickEvent(self.get_btn_obj, on_click) end function NewerTaskPartView:OpenSuccess() self:UpdateView() end function NewerTaskPartView:UpdateView() local index = 0 local cfg local info = self.model:GetCurShowInfo() for k,v in ipairs(info) do if v.task_id == self.task_id then index = k cfg = v end end if cfg then local icon_name = NewerTaskConst.ItemIcon[index] lua_resM:setImageSprite(self,self.icon_img, "newerTask_asset", icon_name, true) end self:AddUIEffect("ui_jujiaodianji", self.get_btn.transform, self.layer_name, nil, 1, true) local desc_cfg = NewerTaskConst.PartTaskId[self.task_id] if desc_cfg then self.title_tmp.text = desc_cfg.title self.desc_tmp.text = desc_cfg.desc self.trigger_id = desc_cfg.trigger_id end end function NewerTaskPartView:AddCloseTimer( ) if self.close_clock_id then GlobalTimerQuest:CancelQuest(self.close_clock_id) self.close_clock_id = nil end self.time = 6 local function clockFun() if self.time <= 0 then -- self.lb_close_tmp.text = "" self:Close() else -- self.lb_close_tmp.text = string.format( "%d 秒后自动关闭" ,self.time) self.time = self.time - 1 end end self.close_clock_id = GlobalTimerQuest:AddPeriodQuest(clockFun, 1, -1) clockFun() end function NewerTaskPartView:DestroySuccess( ) if self.get_btn.transform then self:ClearUIEffect(self.get_btn.transform) end if self.close_clock_id then GlobalTimerQuest:CancelQuest(self.close_clock_id) self.close_clock_id = nil end end