源战役客户端
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.

136 lines
3.8 KiB

  1. NewerTaskPartView = NewerTaskPartView or BaseClass(BaseView)
  2. local NewerTaskPartView = NewerTaskPartView
  3. function NewerTaskPartView:__init()
  4. self.base_file = "newerTask"
  5. self.layout_file = "NewerTaskPartView"
  6. self.layer_name = "Activity"
  7. self.destroy_imm = true
  8. self.use_background = true
  9. self.change_scene_close = true
  10. self.append_to_ctl_queue = false --是否要添加进界面堆栈
  11. self.need_show_money = false --是否要显示顶部的金钱栏
  12. self.model = NewerTaskModel:getInstance()
  13. self.load_callback = function ()
  14. self:LoadSuccess()
  15. self:AddEvent()
  16. end
  17. self.open_callback = function ( )
  18. self:OpenSuccess()
  19. GlobalEventSystem:Fire(EventName.STOP_AUTO_DO_TASK)
  20. end
  21. self.destroy_callback = function ( )
  22. self:DestroySuccess()
  23. end
  24. end
  25. function NewerTaskPartView:Open( task_id )
  26. self.task_id = task_id
  27. BaseView.Open(self)
  28. end
  29. function NewerTaskPartView:Close( )
  30. -- if self.trigger_id then
  31. -- GuideController.Instance:TriggerHelper(GuideModel.TASK_TRIGGER_TYPE, self.trigger_id)
  32. -- end
  33. -- BaseView.Close(self)
  34. local target_pos = MainUIController.Instance:GetNewerTaskMotoPos( )
  35. target_pos.x = target_pos.x
  36. target_pos.y = target_pos.y + 50
  37. local target_time = 0.4
  38. local target_scale = Vector3(0.1,0.1,0.1)
  39. local function call_back( )
  40. -- if self.trigger_id then
  41. -- GuideController.Instance:TriggerHelper(GuideModel.TASK_TRIGGER_TYPE, self.trigger_id)
  42. -- end
  43. GlobalEventSystem:Fire(NewerTaskConst.OPEN_MAIN_VIEW, true, true)
  44. BaseView.Close(self)
  45. end
  46. if self.get_btn.transform then
  47. self:ClearUIEffect(self.get_btn.transform)
  48. end
  49. TweenLite.to(self, self.cont.transform, TweenLite.UiAnimationType.POS, target_pos, target_time)
  50. TweenLite.to(self, self.cont.transform, TweenLite.UiAnimationType.SCALE, target_scale, target_time, call_back)
  51. end
  52. function NewerTaskPartView:LoadSuccess()
  53. self.nodes = {
  54. "cont", "cont/get_btn:obj", "cont/icon:img", "cont/title:tmp", "cont/desc:tmp", "cont/effect"
  55. }
  56. self:GetChildren(self.nodes)
  57. if not IsNull(self.background_wnd) then
  58. SetLocalScale(self.background_wnd.transform, 1.5, 1.5, 1.5)
  59. end
  60. self.transform.anchoredPosition = Vector2(0, -60)
  61. self:AddCloseTimer()
  62. end
  63. function NewerTaskPartView:AddEvent()
  64. local function on_click( obj )
  65. if obj == self.get_btn_obj then
  66. self:Close()
  67. end
  68. end
  69. AddClickEvent(self.get_btn_obj, on_click)
  70. end
  71. function NewerTaskPartView:OpenSuccess()
  72. self:UpdateView()
  73. end
  74. function NewerTaskPartView:UpdateView()
  75. local index = 0
  76. local cfg
  77. local info = self.model:GetCurShowInfo()
  78. for k,v in ipairs(info) do
  79. if v.task_id == self.task_id then
  80. index = k
  81. cfg = v
  82. end
  83. end
  84. if cfg then
  85. local icon_name = NewerTaskConst.ItemIcon[index]
  86. lua_resM:setImageSprite(self,self.icon_img, "newerTask_asset", icon_name, true)
  87. end
  88. self:AddUIEffect("ui_jujiaodianji", self.get_btn.transform, self.layer_name, nil, 1, true)
  89. local desc_cfg = NewerTaskConst.PartTaskId[self.task_id]
  90. if desc_cfg then
  91. self.title_tmp.text = desc_cfg.title
  92. self.desc_tmp.text = desc_cfg.desc
  93. self.trigger_id = desc_cfg.trigger_id
  94. end
  95. end
  96. function NewerTaskPartView:AddCloseTimer( )
  97. if self.close_clock_id then
  98. GlobalTimerQuest:CancelQuest(self.close_clock_id)
  99. self.close_clock_id = nil
  100. end
  101. self.time = 6
  102. local function clockFun()
  103. if self.time <= 0 then
  104. -- self.lb_close_tmp.text = ""
  105. self:Close()
  106. else
  107. -- self.lb_close_tmp.text = string.format( "<color=#2cf89a>%d</color> 秒后自动关闭" ,self.time)
  108. self.time = self.time - 1
  109. end
  110. end
  111. self.close_clock_id = GlobalTimerQuest:AddPeriodQuest(clockFun, 1, -1)
  112. clockFun()
  113. end
  114. function NewerTaskPartView:DestroySuccess( )
  115. if self.get_btn.transform then
  116. self:ClearUIEffect(self.get_btn.transform)
  117. end
  118. if self.close_clock_id then
  119. GlobalTimerQuest:CancelQuest(self.close_clock_id)
  120. self.close_clock_id = nil
  121. end
  122. end