源战役客户端
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

105 wiersze
3.5 KiB

1 miesiąc temu
  1. WorldLevelView = WorldLevelView or BaseClass(BaseView)
  2. function WorldLevelView:__init()
  3. self.base_file = "newMainRole"
  4. self.layout_file = "WorldLevelView"
  5. self.layer_name = "Activity"
  6. self.destroy_imm = true
  7. self.is_set_zdepth = true
  8. self.is_delay_callback = false
  9. self.change_scene_close = true
  10. self.append_to_ctl_queue = false
  11. self.blur_activity_bg = true
  12. self.use_background = true
  13. self.mask_open_sound = true
  14. self.mask_close_sound = true
  15. -- self.click_bg_toClose = true
  16. self.not_mainrole = false
  17. -- self.use_local_view = true
  18. self.mainVo = RoleManager.Instance.mainRoleInfo
  19. self.model = NewMainRoleModel:getInstance()
  20. self.load_callback = function ()
  21. self:LoadSuccess()
  22. self:InitEvent()
  23. end
  24. self.open_callback = function ()
  25. if not self.not_mainrole then
  26. self.model:Fire(NewMainRoleModel.RequestWorldLevel)
  27. else
  28. self:UpdateOtherRoleData(self.level, self.turn, self.world_lv, self.add_exp)
  29. end
  30. end
  31. self.close_callback = function ()
  32. end
  33. self.destroy_callback = function ()
  34. self:Clear()
  35. end
  36. end
  37. function WorldLevelView:Open(not_mainrole, level, turn, world_lv, add_exp)
  38. self.not_mainrole = not_mainrole
  39. self.level = level
  40. self.turn = turn
  41. self.world_lv = world_lv
  42. self.add_exp = add_exp
  43. BaseView.Open(self)
  44. end
  45. function WorldLevelView:LoadSuccess()
  46. self.nodes = {
  47. "window:raw", "window/CloseBtn:obj", "intro_1:tmp", "intro_2:tmp",
  48. "cur_expAdd/cur_expAdd_value:tmp", "cur_Lv/cur_Lv_value:tmp", "cur_worldLv/cur_worldLv_value:tmp",
  49. }
  50. self:GetChildren(self.nodes)
  51. self.intro_1_tmp.text = "人物等级达到<color=#fdffc2>150</color>级时,开启世界等级的<color=#fdffc2>经验加成</color>效果"
  52. self.intro_2_tmp.text = "只有低于世界等级一定等级才有<color=#fdffc2>经验加成</color>"
  53. lua_resM:setOutsideRawImage(self, self.window_raw, GameResPath.GetViewBigBg("tips_comm_bg6"))
  54. end
  55. function WorldLevelView:InitEvent()
  56. local function onClickHandler(target)
  57. if target == self.CloseBtn_obj then
  58. self:Close()
  59. end
  60. end
  61. AddClickEvent(self.CloseBtn_obj, onClickHandler, LuaSoundManager.SOUND_UI.NONE)
  62. local function updateWorldLevel()
  63. if not self.not_mainrole then
  64. self:UpdateData()
  65. end
  66. end
  67. self.update_world_level_view_id = GlobalEventSystem:Bind(EventName.UPDATE_WORLD_LEVEL_VIEW, updateWorldLevel)
  68. end
  69. function WorldLevelView:Clear()
  70. if self.update_world_level_view_id then
  71. GlobalEventSystem:UnBind(self.update_world_level_view_id)
  72. end
  73. self.update_world_level_view_id = nil
  74. end
  75. function WorldLevelView:UpdateData()
  76. self.cur_Lv_value_tmp.text = RoleManager:getInstance():GetMainRoleLevel(false, true)
  77. self.cur_worldLv_value_tmp.text = self.mainVo.worldLv
  78. self.cur_expAdd_value_tmp.text = self:NumberFormat(self.mainVo.worldLvExp)
  79. end
  80. -- 几率属性的数值处理,除以100*100%并显示整数
  81. function WorldLevelView:NumberFormat(num)
  82. if num == 0 then
  83. return "0%"
  84. else
  85. return string.format("%d", num) .. "%"
  86. end
  87. end
  88. --非主角
  89. function WorldLevelView:UpdateOtherRoleData(level, turn, world_lv, add_exp)
  90. self.cur_Lv_value_tmp.text = RoleManager:getInstance():GetMainRoleLevel(false, true,level,turn)
  91. self.cur_worldLv_value_tmp.text = world_lv
  92. self.cur_expAdd_value_tmp.text = self:NumberFormat(add_exp)
  93. end