源战役客户端
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

84 linhas
2.6 KiB

  1. -- <*
  2. -- @Author: Saber
  3. -- @Description: 经验副本路线节点内波数节点
  4. -- *>
  5. ExpDunRouteWaveItem = ExpDunRouteWaveItem or BaseClass(BaseItem)
  6. local ExpDunRouteWaveItem = ExpDunRouteWaveItem
  7. function ExpDunRouteWaveItem:__init(parent_wnd,prefab_asset,layer_name)
  8. self.base_file = "expDun"
  9. self.layout_file = "ExpDunRouteWaveItem"
  10. self.parent_wnd = parent_wnd
  11. self.layer_name = layer_name
  12. self.show_light = false
  13. self.is_selected = false
  14. self.next_wave_exp_str = ""
  15. self.index = 1
  16. self.max_num = 1
  17. self.model = ExpDunModel:getInstance()
  18. self:Load()
  19. end
  20. function ExpDunRouteWaveItem:Load_callback()
  21. local nodes = {
  22. "selected:img", "selected/route_exp_bg:img", "selected/route_exp:tmp",
  23. "bg:img",
  24. "light:img",
  25. }
  26. self:GetChildren(nodes)
  27. self.ori_arrow_posy = 27
  28. self.up_arrow_posy = self.ori_arrow_posy + 5
  29. self.down_arrow_posy = self.ori_arrow_posy - 5
  30. SetAnchoredPositionY(self.selected, self.up_arrow_posy)
  31. self:ShowLight(self.show_light)
  32. self:SetSelected(self.is_selected, self.next_wave_exp_str)
  33. end
  34. function ExpDunRouteWaveItem:ShowLight(bool)
  35. self.show_light = bool
  36. if self.is_loaded then
  37. self.bg_img.enabled = not bool
  38. self.light_img.enabled = bool
  39. end
  40. end
  41. function ExpDunRouteWaveItem:SetSelected(bool, next_wave_exp_str)
  42. self.is_selected = bool
  43. self.next_wave_exp_str = next_wave_exp_str
  44. if self.is_loaded then
  45. self.selected_img.enabled = self.is_selected
  46. self.route_exp_bg_img.enabled = self.is_selected
  47. self.route_exp_tmp.text = self.is_selected and self.next_wave_exp_str or ""
  48. self:StartNextWaveArrowAnim(self.is_selected)
  49. end
  50. end
  51. function ExpDunRouteWaveItem:StartNextWaveArrowAnim(show)
  52. self:StopArrowAnim()
  53. if show then
  54. local move_up_func = function ()
  55. local function repeat_func()
  56. self:StartNextWaveArrowAnim(true)
  57. end
  58. self.arrow_move_up_id = TweenLite.to(self, self.selected, TweenLite.UiAnimationType.POSY, self.up_arrow_posy, 1.2, repeat_func)
  59. end
  60. self.arrow_con_move_down_id = TweenLite.to(self, self.selected, TweenLite.UiAnimationType.POSY, self.down_arrow_posy, 1.2, move_up_func)
  61. end
  62. end
  63. function ExpDunRouteWaveItem:StopArrowAnim()
  64. if self.arrow_con_move_down_id then
  65. TweenLite.Stop(self.arrow_con_move_down_id)
  66. self.arrow_con_move_down_id = nil
  67. end
  68. if self.arrow_move_up_id then
  69. TweenLite.Stop(self.arrow_move_up_id)
  70. self.arrow_move_up_id = nil
  71. end
  72. end
  73. function ExpDunRouteWaveItem:__delete( )
  74. self:StopArrowAnim()
  75. end