|
|
- NewerTaskItem = NewerTaskItem or BaseClass(BaseItem)
- local NewerTaskItem = NewerTaskItem
-
- function NewerTaskItem:__init()
- self.base_file = "newerTask"
- self.layout_file = "NewerTaskItem"
- self.model = NewerTaskModel:getInstance()
-
- self:Load()
- end
-
- function NewerTaskItem:Load_callback()
- self.nodes = {
- "icon:img", "finish_flag:obj", "bg:img",
- "show_cont:obj", "show_cont/task_tips:tmp", "show_cont/award_tips:tmp",
- "get_btn:obj", "get_btn/btn_lable:tmp", "show_cont/award_cont:img",
- "effect_2:obj",
- }
- self:GetChildren(self.nodes)
-
- self:AddEvents()
- if self.need_refreshData then
- self:SetData(self.data, self.index, self.is_first_show, self.auto_do_task)
- end
- end
-
- function NewerTaskItem:AddEvents( )
- local function on_click( obj )
- if obj == self.get_btn_obj then
- self:OnGetAward()
- end
- end
- AddClickEvent(self.get_btn_obj, on_click)
-
- local function onGuideTrigger()
- self:OnUnLockHelper()
- end
- self:BindEvent(GlobalEventSystem, EventName.TRIGGER_GUIDE_TYPE, onGuideTrigger)
- end
-
- function NewerTaskItem:OnGetAward( )
- GlobalEventSystem:Fire(NewerTaskConst.REQ_GET_AWARD, self.data.type, self.data.task_id)
- self:OnCloseGuide()
- end
-
- function NewerTaskItem:SetData( data, index , is_first_show, auto_do_task)
- self.data = data
- self.index = index
- self.is_first_show = is_first_show
- self.auto_do_task = auto_do_task
- if self.is_loaded then
- self.need_refreshData = false
- self:UpdateView()
- --首次打开不要主动触发,等待动画播完
- if not self.is_first_show then
- self:OnUnLockHelper()
- end
- else
- self.need_refreshData = true
- end
- end
-
- function NewerTaskItem:UpdateView( )
- SetLocalScale(self.transform, 1)
-
- local icon_name = NewerTaskConst.ItemIcon[self.index]
- lua_resM:setImageSprite(self,self.icon_img, "newerTask_asset", icon_name, true)
-
- local bg_name = self.index == 1 and "newer_task_img11" or "newer_task_img5"
- lua_resM:setImageSprite(self,self.bg_img, "newerTask_asset", bg_name, true)
-
- local is_finished = self.model:IsAwardFinish(self.data.type, self.data.task_id)
- if is_finished then
- self.show_cont_obj:SetActive(false)
- self.get_btn_obj:SetActive(false)
- self.finish_flag_obj:SetActive(true)
- self.effect_2_obj:SetActive(false)
- else
- local can_finish = TaskModel:getInstance():IsTaskFinished(self.data.task_id)
- -- local next_task_id = self.model:GetNextCanGetAward(self.data.type)
- if can_finish then-- and next_task_id == self.data.task_id then
- self.show_cont_obj:SetActive(false)
- self.get_btn_obj:SetActive(true)
- self.finish_flag_obj:SetActive(false)
-
- local function call_back( go )
- if not IsNull(go) then
- UIDepth.SetUIDepth(go,false,0)
- end
- end
- self:AddUIEffect("ui_motuoyindao02", self.effect_2, "Main", nil, 1, true,nil,nil,nil, call_back,nil)
- self.effect_2_obj:SetActive(true)
-
- if self.auto_do_task then
- self:AddUIEffect("ui_jujiaodianji", self.get_btn.transform, "Activity", nil, 1, true)
- end
- else
- self.show_cont_obj:SetActive(true)
- self.get_btn_obj:SetActive(false)
- self.finish_flag_obj:SetActive(false)
- self.effect_2_obj:SetActive(false)
- --任务描述
- local task_db = ConfigItemMgr.Instance:GetTaskData(self.data.task_id)
- if task_db then
- local str = string.format("完成%s主线任务", HtmlColorTxt(task_db.level.."级", "#2cf86f"))
- self.task_tips_tmp.text = str
- end
- --奖励
- local award_vo = stringtotable(self.data.awards)
- award_vo = award_vo and award_vo[1] or {}
- local num = award_vo[3] or "1"
- self.award_tips_tmp.text = WordManager:GetMoneyFaceStr( price_type ) .."x"..num
- local typeId, lock = GoodsModel:getInstance():GetMappingTypeId(award_vo[1], award_vo[2])
- self.goods_basic = GoodsModel:getInstance():GetGoodsBasicByTypeId(typeId)
- local goods_icon = self.goods_basic.goods_icon
- lua_resM:setOutsideImageSprite(self,self.award_cont_img, GameResPath.GetGoodsIcon(goods_icon))
- end
- end
- end
-
- function NewerTaskItem:OnAnimation( )
- if IsNull(self.gameObject) then
- return
- end
- self:SetVisible(true)
- local pos = NewerTaskConst.ItemPos[self.index]
- SetLocalPosition(self.transform, pos.x+200, pos.y, 0)
- TweenLite.to(self, self.transform, TweenLite.UiAnimationType.POSX, pos.x, 0.2)
- end
-
- function NewerTaskItem:OnUnLockHelper( )
- if IsNull(self.gameObject) then
- return
- end
- local help_vo = GuideModel:getInstance():GetCurHelpTypeAndStep()
- if not help_vo then
- return
- end
-
- local target_index = help_vo.unlock_index or 1
- if self.index ~= target_index then
- return
- end
- if help_vo.help_type == HelpType.NEWER_TASK_AWARD_UNLOCK and help_vo.step == 2 then
- local button = self.get_btn_obj
- if button then
- self.is_on_award_helper = true
- local function call_back()
- self:OnGetAward()
- end
- GlobalEventSystem:Fire(EventName.OPEN_GUIDE_PROMPT_VIEW,button.transform,self.transform,call_back,help_vo)
- end
- end
- end
-
- function NewerTaskItem:OnCloseGuide( )
- local help_vo, help_type, step = GuideModel:getInstance():GetCurHelpTypeAndStep()
- if help_vo then
- if help_type == HelpType.NEWER_TASK_AWARD_UNLOCK then
- if step and step == 2 then
- GlobalEventSystem:Fire(EventName.FINISH_CURRENT_HELP_STEP,help_vo)
- end
- end
- end
- end
-
- function NewerTaskItem:__delete( )
-
- end
|