|
|
- TaskBountyRewardView = TaskBountyRewardView or BaseClass(BaseView)
- local TaskBountyRewardView = TaskBountyRewardView
- function TaskBountyRewardView:__init()
- self.base_file = "task"
- self.layout_file = "TaskBountyRewardView"
- self.layer_name = "Activity"
- self.destroy_imm = true
- self.use_background = true
- self.hide_maincancas = false
- self.model = TaskModel:getInstance()
- self.time_diff = 10
- self.is_set_zdepth = true
- -- self.use_local_view = true
-
- self.item_list = {}
-
- self.load_callback = function ()
- self:LoadSuccess()
- self:InitEvent()
- end
- self.open_callback = function ()
- self:InitView()
- end
- self.close_callback = function ()
-
- end
- self.destroy_callback = function ()
- self:Clear()
- end
- end
-
- function TaskBountyRewardView:Open(circle_num)
- self.circle_num = circle_num
- BaseView.Open(self)
- end
-
- function TaskBountyRewardView:Clear()
-
- if self.update_reward_id then
- GlobalEventSystem:UnBind(self.update_reward_id)
- self.update_reward_id = nil
- end
-
- for i, v in ipairs(self.item_list) do
- v:DeleteMe()
- v = nil
- end
- self.item_list = {}
-
- self:CancelTimer()
- end
-
- function TaskBountyRewardView:Close()
- BaseView.Close(self)
- end
-
- function TaskBountyRewardView:InitView()
- self:StartTimer()
-
- local info = self.model.circle_cache_reward
- if not info then
- return
- end
-
- local reward_list = {}
- for index, vo in ipairs(info.reward) do
- table.insert(reward_list, vo)
- end
- for index, vo in ipairs(info.extra_reward) do
- table.insert(reward_list, vo)
- end
-
- for i, v in ipairs(reward_list) do
- local item = self.item_list[i]
- if item == nil then
- item = AwardItem.New(self.item_parent)
- self.item_list[i] = item
- end
-
- item:SetVisible(true)
- item:SetItemSize(78, 78)
- local goods_id, lock = GoodsModel:getInstance():GetMappingTypeId(v[1], v[2])
- item:SetData(goods_id, v[3], nil, nil, lock)
- if v.is_vip then
- item:SetVipAdditionTip(true)
- end
- end
-
- for i=#reward_list + 1,#self.item_list do
- self.item_list[i]:SetVisible(false)
- end
-
- if self.circle_num == 10 then
- self.ok_btn_txt.text = "继续任务"
- elseif self.circle_num == 20 then
- self.ok_btn_txt.text = "确定"
- end
- end
-
- function TaskBountyRewardView:LoadSuccess()
-
- self.left_img,
- self.right_img
- = GetChildImages(self.transform, {
- "left",
- "right",
- })
- lua_resM:setOutsideImageSprite(self, self.left_img, GameResPath.GetCommonImage("jsui_bg"))
- lua_resM:setOutsideImageSprite(self, self.right_img,GameResPath.GetCommonImage("jsui_bg"))
-
-
- self.cancel_btn,
- self.ok_btn = self:GetChildGameObjects({
- "CancelBtn",
- "OkBtn",
- })
-
- self.item_parent = self:GetChildTransforms({
- "ItemParent"
- })
-
- self.tip_txt,
- self.ok_btn_txt = self:GetChildTexts({
- "Tip",
- "OkBtn/Text",
- })
- end
-
-
- function TaskBountyRewardView:InitEvent()
- local function onBtnClickHandler(target)
- if target == self.cancel_btn then
- self:Close()
- GlobalEventSystem:Fire(EventName.START_AUTO_DO_TASK,true)
- elseif target == self.ok_btn then
- if self.circle_num == 10 then
- self:Close()
- GlobalEventSystem:Fire(EventName.START_AUTO_DO_TASK,true)
- elseif self.circle_num == 20 then
- self:Close()
- self:GoToHook()
- end
- end
- end
-
- AddClickEvent(self.cancel_btn,onBtnClickHandler)
- AddClickEvent(self.ok_btn,onBtnClickHandler)
- end
-
- function TaskBountyRewardView:GoToHook()
- local onHookData = DailyModel:getInstance():GetOnhookConfig()
- if onHookData then
- local pointList = ErlangParser:GetInstance():Parse(onHookData.xy)
- local index = math.random(1, #pointList)
- local randomPoint = pointList[index]
- local x = tonumber(randomPoint[1])
- local y = tonumber(randomPoint[2])
-
- local call_back = function ()
- GlobalEventSystem:Fire(EventName.STARTAUTOFIGHT)
- end
- local findVo = FindVo.New()
- findVo.type = FindVo.POINT
- findVo.sceneId = tonumber(onHookData.scene_id)
- findVo.x = x / SceneObj.LogicRealRatio.x
- findVo.y = y / SceneObj.LogicRealRatio.y
- findVo.call_back = call_back
- findVo.force_change_scene = true
-
- GlobalEventSystem:Fire(EventName.STOPAUTOFIGHT)
- GlobalEventSystem:Fire(EventName.FORCE_STOP_DO_TASK)
- Scene.Instance:FindElement(findVo)
- end
- end
-
-
- function TaskBountyRewardView:CancelTimer()
- if self.timer_id then
- TimerQuest.CancelQuest(GlobalTimerQuest, self.timer_id)
- self.timer_id = nil
- end
- end
-
-
- function TaskBountyRewardView:StartTimer()
- self:CancelTimer()
-
- local end_time = TimeUtil:getServerTime( ) + self.time_diff
- local function onTimer()
- local time = end_time - TimeUtil:getServerTime( )
- if time > 0 then
- if self.circle_num == 10 then
- self.tip_txt.text = string.format("%d秒后自动任务",time)
- elseif self.circle_num == 20 then
- self.tip_txt.text = string.format("%d秒后自动野外挂机",time)
- end
- else
- self:CancelTimer()
- if self.circle_num == 10 then
- self:Close()
- GlobalEventSystem:Fire(EventName.START_AUTO_DO_TASK,true)
- elseif self.circle_num == 20 then
- self:Close()
- self:GoToHook()
- end
- end
- end
- onTimer()
- self.timer_id = TimerQuest.AddPeriodQuest(GlobalTimerQuest, onTimer,1,-1)
- end
-
-
|