源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

122 行
3.0 KiB

  1. GuideHorseUseView = GuideHorseUseView or BaseClass(BaseView)
  2. function GuideHorseUseView:__init()
  3. self.base_file = "guide"
  4. self.layout_file = "GuideHorseUseView"
  5. self.layer_name = "Activity"
  6. self.destroy_imm = true
  7. self.change_scene_close = true
  8. self.time_diff = 10
  9. self.touch_y = 0
  10. self.open_wnd_anim = 0
  11. self.is_set_zdepth = true
  12. self.load_callback = function ()
  13. self:LoadSuccess()
  14. self:InitEvent()
  15. end
  16. self.open_callback = function ()
  17. GlobalEventSystem:Fire(EventName.STOP_AUTO_DO_TASK)
  18. self.time_diff = 10
  19. self:ShowTimer()
  20. self:ShowEffect()
  21. end
  22. self.close_callback = function ()
  23. if not self.has_ride_horse then
  24. self.has_ride_horse = true
  25. GlobalEventSystem:Fire(EventName.RIDE_HORSE)
  26. end
  27. GlobalEventSystem:Fire(EventName.START_AUTO_DO_TASK)
  28. end
  29. self.destroy_callback = function ()
  30. self:Clear()
  31. end
  32. end
  33. function GuideHorseUseView:Clear()
  34. self:RemoveTimer()
  35. self:ClearEffect()
  36. end
  37. function GuideHorseUseView:Close()
  38. BaseView.Close(self)
  39. end
  40. function GuideHorseUseView:LoadSuccess()
  41. self.effect = self:GetChild("effect")
  42. self.breakCon = self:GetChild("breakCon").gameObject
  43. self.LeftSec = self:GetChild("LeftSec"):GetComponent("Text")
  44. self.mask_bg = self:GetChild("Mask")
  45. self.mask_bg.sizeDelta = Vector2(SrcScreenWidth,ScreenHeight)
  46. self.mask_btn = self:GetChild("Mask").gameObject
  47. end
  48. function GuideHorseUseView:ShowEffect( )
  49. local function load_end_func( )
  50. end
  51. self.effect_id = self:AddUIEffect("ui_huadongyindao", self.effect, self.layer_name, nil, nil, true,nil,nil,nil,load_end_func)
  52. end
  53. function GuideHorseUseView:ClearEffect( )
  54. if self.effect_id then
  55. self:ClearUIEffect(self.effect)
  56. self.effect_id = nil
  57. end
  58. end
  59. function GuideHorseUseView:InitEvent()
  60. local function onBtnClickHandler(target)
  61. if target == self.breakCon then
  62. self:SureBtnClickEvent()
  63. end
  64. end
  65. AddClickEvent(self.breakCon,onBtnClickHandler)
  66. local function draging(target,pos_x, pos_y)
  67. if target == self.mask_bg.gameObject then
  68. if pos_y-self.touch_y>150 then
  69. self:SureBtnClickEvent()
  70. end
  71. end
  72. end
  73. AddDragEvent(self.mask_bg.gameObject,draging)
  74. local function touch_begin( target,pos_x, pos_y )
  75. if target == self.mask_bg.gameObject then
  76. self.touch_y = pos_y
  77. end
  78. end
  79. AddDownEvent(self.mask_bg.gameObject,touch_begin)
  80. end
  81. --上坐骑
  82. function GuideHorseUseView:SureBtnClickEvent( )
  83. if not self.has_ride_horse then
  84. self.has_ride_horse = true
  85. GlobalEventSystem:Fire(EventName.RIDE_HORSE)
  86. end
  87. self:Close()
  88. end
  89. function GuideHorseUseView:ShowTimer()
  90. self:RemoveTimer()
  91. self.LeftSec.text = string.format("(%ds后自动骑乘坐骑)", self.time_diff)
  92. local function onTimer()
  93. self.time_diff = self.time_diff - 1
  94. if self.time_diff > 0 then
  95. self.LeftSec.text = string.format("(%ds后自动骑乘坐骑)", self.time_diff)
  96. else
  97. self:RemoveTimer()
  98. self:SureBtnClickEvent()
  99. end
  100. end
  101. self.time_id = GlobalTimerQuest:AddPeriodQuest(onTimer,1,-1)
  102. end
  103. function GuideHorseUseView:RemoveTimer()
  104. if self.time_id then
  105. GlobalTimerQuest:CancelQuest(self.time_id)
  106. self.time_id = nil
  107. end
  108. end