源战役客户端
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

130 рядки
4.1 KiB

1 місяць тому
  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