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

130 lines
4.1 KiB

  1. require("game.common.BaseAlert")
  2. require("game.common.AlertTypeOne")
  3. require("game.common.AlertTypeTwo")
  4. require("game.common.AlertTypeThree")
  5. require("game.common.AlertTypeFour")
  6. require("game.common.AlertTypeFive")
  7. require("game.common.AlertTypeSix")
  8. require("game.common.AlertTypeSeven")
  9. require("game.common.AlertTypeaAward")
  10. require("game.common.AlertTypeItem")
  11. Alert = Alert or {}
  12. --每种类型分别实现 以免杂乱
  13. Alert.Type = {
  14. One = "Alert.Type.ONE",
  15. Two = "Alert.Type.TWO",
  16. Three = "Alert.Type.THREE",
  17. Four = "Alert.Type.FOUR",
  18. Five = "Alert.Type.Five",
  19. Six = "Alert.Type.Six",
  20. Seven = "Alert.Type.Seven",
  21. CheckBox = "Alert.Type.CHECKBOX",
  22. Timer = "Alert.Type.TIMER",
  23. Award = "Alert.Type.Award",
  24. Item = "Alert.Type.Item",
  25. }
  26. Alert.curr_view = nil
  27. function Alert.show(show_content, type,
  28. ok_callback, cancel_callback,
  29. ok_text, cancel_text,
  30. left_time,is_close_hide,consumable,content_align,ok_left,toggle_text,layer_name,
  31. bg_res, alert_title, close_callback, defalut_toggle,toggle_function,ok_btn_gray,cancel_btn_gray)
  32. if Alert.curr_view and Alert.curr_view:HasOpen() then
  33. Alert.curr_view:Close()
  34. Alert.curr_view = nil
  35. end
  36. local class_name = nil
  37. type = type or Alert.Type.One
  38. if type == Alert.Type.One then
  39. class_name = AlertTypeOne
  40. elseif type == Alert.Type.Two then
  41. class_name = AlertTypeTwo
  42. elseif type == Alert.Type.Three then
  43. class_name = AlertTypeThree
  44. elseif type == Alert.Type.Four then
  45. class_name = AlertTypeFour
  46. elseif type == Alert.Type.Five then
  47. class_name = AlertTypeFive
  48. elseif type == Alert.Type.Six then
  49. class_name = AlertTypeSix
  50. elseif type == Alert.Type.Seven then
  51. class_name = AlertTypeSeven
  52. elseif type == Alert.Type.Award then
  53. class_name = AlertTypeaAward
  54. elseif type == Alert.Type.Item then
  55. class_name = AlertTypeItem
  56. end
  57. if class_name then
  58. Alert.curr_view = class_name.New(show_content, type,
  59. ok_callback, cancel_callback,
  60. ok_text, cancel_text,
  61. left_time,is_close_hide,consumable,content_align,ok_left,toggle_text,layer_name,
  62. bg_res, alert_title, close_callback, defalut_toggle, toggle_function, ok_btn_gray, cancel_btn_gray)
  63. Alert.curr_view:Open()
  64. end
  65. return Alert.curr_view
  66. end
  67. function Alert.showbytable(data)
  68. if Alert.curr_view and Alert.curr_view:HasOpen() then
  69. Alert.curr_view:Close()
  70. Alert.curr_view = nil
  71. end
  72. local class_name = nil
  73. local show_content = data.show_content or ""
  74. local type = data.type or Alert.Type.One
  75. if type == Alert.Type.One then
  76. class_name = AlertTypeOne
  77. elseif type == Alert.Type.Two then
  78. class_name = AlertTypeTwo
  79. elseif type == Alert.Type.Three then
  80. class_name = AlertTypeThree
  81. elseif type == Alert.Type.Four then
  82. class_name = AlertTypeFour
  83. elseif type == Alert.Type.Five then
  84. class_name = AlertTypeFive
  85. elseif type == Alert.Type.Six then
  86. class_name = AlertTypeSix
  87. elseif type == Alert.Type.Seven then
  88. class_name = AlertTypeSeven
  89. elseif type == Alert.Type.Award then
  90. class_name = AlertTypeaAward
  91. elseif type == Alert.Type.Item then
  92. class_name = AlertTypeItem
  93. end
  94. local ok_callback = data.ok_callback
  95. local cancel_callback = data.cancel_callback
  96. local ok_text = data.ok_text
  97. local cancel_text = data.cancel_text
  98. local left_time = data.left_time
  99. local is_close_hide = data.is_close_hide
  100. local consumable = data.consumable
  101. local content_align = data.content_align
  102. local ok_left = data.ok_left
  103. local toggle_text = data.toggle_text
  104. local bg_res = data.bg_res
  105. local alert_title = data.alert_title
  106. local close_callback = data.close_callback
  107. local toggle_function = data.toggle_function
  108. local ok_btn_gray = data.ok_btn_gray
  109. local cancel_btn_gray = data.cancel_btn_gray
  110. if class_name then
  111. Alert.curr_view = class_name.New(show_content,type,
  112. ok_callback, cancel_callback,
  113. ok_text, cancel_text,
  114. left_time,is_close_hide,consumable,content_align,ok_left,toggle_text,nil,
  115. bg_res, alert_title,close_callback,defalut_toggle, toggle_function,ok_btn_gray,cancel_btn_gray)
  116. Alert.curr_view:Open()
  117. end
  118. return Alert.curr_view
  119. end
  120. function Alert.close()
  121. if Alert.curr_view and Alert.curr_view:HasOpen() then
  122. Alert.curr_view:Close()
  123. Alert.curr_view = nil
  124. end
  125. end