WorldLevelView = WorldLevelView or BaseClass(BaseView) function WorldLevelView:__init() self.base_file = "newMainRole" self.layout_file = "WorldLevelView" self.layer_name = "Activity" self.destroy_imm = true self.is_set_zdepth = true self.is_delay_callback = false self.change_scene_close = true self.append_to_ctl_queue = false self.blur_activity_bg = true self.use_background = true self.mask_open_sound = true self.mask_close_sound = true -- self.click_bg_toClose = true self.not_mainrole = false -- self.use_local_view = true self.mainVo = RoleManager.Instance.mainRoleInfo self.model = NewMainRoleModel:getInstance() self.load_callback = function () self:LoadSuccess() self:InitEvent() end self.open_callback = function () if not self.not_mainrole then self.model:Fire(NewMainRoleModel.RequestWorldLevel) else self:UpdateOtherRoleData(self.level, self.turn, self.world_lv, self.add_exp) end end self.close_callback = function () end self.destroy_callback = function () self:Clear() end end function WorldLevelView:Open(not_mainrole, level, turn, world_lv, add_exp) self.not_mainrole = not_mainrole self.level = level self.turn = turn self.world_lv = world_lv self.add_exp = add_exp BaseView.Open(self) end function WorldLevelView:LoadSuccess() self.nodes = { "window:raw", "window/CloseBtn:obj", "intro_1:tmp", "intro_2:tmp", "cur_expAdd/cur_expAdd_value:tmp", "cur_Lv/cur_Lv_value:tmp", "cur_worldLv/cur_worldLv_value:tmp", } self:GetChildren(self.nodes) self.intro_1_tmp.text = "人物等级达到150级时,开启世界等级的经验加成效果" self.intro_2_tmp.text = "只有低于世界等级一定等级才有经验加成" lua_resM:setOutsideRawImage(self, self.window_raw, GameResPath.GetViewBigBg("tips_comm_bg6")) end function WorldLevelView:InitEvent() local function onClickHandler(target) if target == self.CloseBtn_obj then self:Close() end end AddClickEvent(self.CloseBtn_obj, onClickHandler, LuaSoundManager.SOUND_UI.NONE) local function updateWorldLevel() if not self.not_mainrole then self:UpdateData() end end self.update_world_level_view_id = GlobalEventSystem:Bind(EventName.UPDATE_WORLD_LEVEL_VIEW, updateWorldLevel) end function WorldLevelView:Clear() if self.update_world_level_view_id then GlobalEventSystem:UnBind(self.update_world_level_view_id) end self.update_world_level_view_id = nil end function WorldLevelView:UpdateData() self.cur_Lv_value_tmp.text = RoleManager:getInstance():GetMainRoleLevel(false, true) self.cur_worldLv_value_tmp.text = self.mainVo.worldLv self.cur_expAdd_value_tmp.text = self:NumberFormat(self.mainVo.worldLvExp) end -- 几率属性的数值处理,除以100*100%并显示整数 function WorldLevelView:NumberFormat(num) if num == 0 then return "0%" else return string.format("%d", num) .. "%" end end --非主角 function WorldLevelView:UpdateOtherRoleData(level, turn, world_lv, add_exp) self.cur_Lv_value_tmp.text = RoleManager:getInstance():GetMainRoleLevel(false, true,level,turn) self.cur_worldLv_value_tmp.text = world_lv self.cur_expAdd_value_tmp.text = self:NumberFormat(add_exp) end