local PlayerManager = class("PlayerManager", BaseModule) function PlayerManager:showPlayerUpUI(currLv, rewards) local params = { fromLevel = currLv, rewards = rewards, } UIManager:showUI("app/ui/player/player_level_up_ui", params) end function PlayerManager:levelUp() self:sendMessage(ProtoMsgType.FromMsgEnum.LevelUpReq, {}, {}, self.onLevelUpFinish, BIReport.ITEM_GET_TYPE.PLAYER_LV_UP) end function PlayerManager:onLevelUpFinish(result) if result.err_code == GConst.ERROR_STR.SUCCESS then local currLv = DataManager.PlayerData:getLv() local diffLv = result.level - currLv DataManager.PlayerData:setLv(result.level, result.exp) if diffLv > 0 then self:showPlayerUpUI(currLv, result.rewards) ModuleManager.TaskManager:addTaskProgress(GConst.TaskConst.TASK_TYPE.X_PLAYER_LV_REACH, diffLv) end end end return PlayerManager