玩家升级界面
This commit is contained in:
parent
4acb1271f2
commit
e97c1cd4e9
@ -69,7 +69,8 @@ BIReport.ITEM_GET_TYPE = {
|
||||
BOUNTY = "Bounty",
|
||||
IDLE_DROP = "IdleDrop",
|
||||
IDLE_QUICK_DROP = "IdleQuickDrop",
|
||||
MAIL = "Mail"
|
||||
MAIL = "Mail",
|
||||
PLAYER_LV_UP = "PlayerLvUp",
|
||||
}
|
||||
|
||||
BIReport.ADS_CLICK_TYPE = {
|
||||
|
||||
@ -39,6 +39,8 @@ local MODULE_PATHS = {
|
||||
ShopManager = "app/module/shop/shop_manager",
|
||||
-- 邮件
|
||||
MailManager = "app/module/mail/mail_manager",
|
||||
-- 玩家
|
||||
PlayerManager = "app/module/player/player_manager",
|
||||
}
|
||||
|
||||
-- 这里的key对应func_open里的id
|
||||
|
||||
8
lua/app/module/player.meta
Normal file
8
lua/app/module/player.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 98178fc3bab492b46975a763c42497c9
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
23
lua/app/module/player/player_manager.lua
Normal file
23
lua/app/module/player/player_manager.lua
Normal file
@ -0,0 +1,23 @@
|
||||
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()
|
||||
DataManager.PlayerData:setLv(result.level, result.exp)
|
||||
self:showPlayerUpUI(currLv, result.rewards)
|
||||
end
|
||||
end
|
||||
|
||||
return PlayerManager
|
||||
10
lua/app/module/player/player_manager.lua.meta
Normal file
10
lua/app/module/player/player_manager.lua.meta
Normal file
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2f013f123922ef74294a3dc5ea3784a4
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||
@ -21,7 +21,7 @@ function BaseUI:getPreLoadList()
|
||||
end
|
||||
|
||||
function BaseUI:showCommonBG()
|
||||
return true
|
||||
return false
|
||||
end
|
||||
|
||||
-- 界面prefab路径
|
||||
|
||||
@ -31,6 +31,10 @@ function IdleDropUI:onReshow()
|
||||
if self.cdSid then
|
||||
self:resumeScheduleGlobal(self.cdSid)
|
||||
end
|
||||
-- 检查是否升级
|
||||
if DataManager.PlayerData:getIfCanLevelUp() then
|
||||
ModuleManager.PlayerManager:levelUp()
|
||||
end
|
||||
end
|
||||
|
||||
function IdleDropUI:onClose()
|
||||
|
||||
@ -36,6 +36,13 @@ function IdleQuickDropUI:ctor()
|
||||
end
|
||||
end
|
||||
|
||||
function IdleQuickDropUI:onReshow()
|
||||
-- 检查是否升级
|
||||
if DataManager.PlayerData:getIfCanLevelUp() then
|
||||
ModuleManager.PlayerManager:levelUp()
|
||||
end
|
||||
end
|
||||
|
||||
function IdleQuickDropUI:onLoadRootComplete()
|
||||
local uiMap = self.root:genAllChildren()
|
||||
self.uiMap = uiMap
|
||||
|
||||
@ -110,9 +110,6 @@ function MainCityUI:_display()
|
||||
end
|
||||
|
||||
function MainCityUI:_addListeners()
|
||||
self:addEventListener(EventManager.CUSTOM_EVENT.MAIN_UI_CHECK_POP, function()
|
||||
self:checkMainPop()
|
||||
end)
|
||||
end
|
||||
|
||||
function MainCityUI:_bind()
|
||||
@ -126,9 +123,6 @@ function MainCityUI:_bind()
|
||||
self:bind(DataManager.PlayerData, "dirty", function(binder, value)
|
||||
self:refreshPlayerInfo()
|
||||
end, true)
|
||||
self:bind(DataManager.PlayerData, "lvUpDirty", function(binder, value)
|
||||
self:checkMainPop()
|
||||
end)
|
||||
self:bind(DataManager.FormationData, "dirty", function(binder, value)
|
||||
if self.selectedIndex == GConst.MainCityConst.BOTTOM_PAGE.HERO then
|
||||
self.subComps[self.selectedIndex]:refresh()
|
||||
@ -679,6 +673,12 @@ function MainCityUI:refreshSettingBtn()
|
||||
end
|
||||
|
||||
function MainCityUI:checkMainPop()
|
||||
-- 检查是否升级
|
||||
if DataManager.PlayerData:getIfCanLevelUp() then
|
||||
ModuleManager.PlayerManager:levelUp()
|
||||
return
|
||||
end
|
||||
|
||||
-- 引导
|
||||
if self:checkTutorial() then
|
||||
return
|
||||
|
||||
8
lua/app/ui/player.meta
Normal file
8
lua/app/ui/player.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 60f05ec49fd1e1544b596ad1fb4cd483
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
86
lua/app/ui/player/player_level_up_ui.lua
Normal file
86
lua/app/ui/player/player_level_up_ui.lua
Normal file
@ -0,0 +1,86 @@
|
||||
local PlayerLevelUpUI = class("PlayerLevelUpUI", BaseUI)
|
||||
|
||||
local CELL_WIDTH = 114.8
|
||||
|
||||
function PlayerLevelUpUI:isFullScreen()
|
||||
return false
|
||||
end
|
||||
|
||||
function PlayerLevelUpUI:getPrefabPath()
|
||||
return "assets/prefabs/ui/player/player_level_up_ui.prefab"
|
||||
end
|
||||
|
||||
function PlayerLevelUpUI:ctor(params)
|
||||
params = params or GConst.EMPTY_TABLE
|
||||
|
||||
self.fromLevel = params.fromLevel
|
||||
self.rewards = params.rewards or GConst.EMPTY_TABLE
|
||||
end
|
||||
|
||||
function PlayerLevelUpUI:onLoadRootComplete()
|
||||
self:_display()
|
||||
end
|
||||
|
||||
function PlayerLevelUpUI:_display()
|
||||
local uiMap = self.root:genAllChildren()
|
||||
self.uiMap = uiMap
|
||||
|
||||
uiMap["player_level_up_ui.bg"]:addClickListener(function()
|
||||
self:closeUI()
|
||||
end)
|
||||
|
||||
local toLevel = DataManager.PlayerData:getLv()
|
||||
uiMap["player_level_up_ui.title_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.PLAYER_LEVEL_UP_DESC, toLevel))
|
||||
uiMap["player_level_up_ui.reward_title"]:setText(I18N:getGlobalText(I18N.GlobalConst.LEVEL_UP_REWARD))
|
||||
uiMap["player_level_up_ui.continue"]:setText(I18N:getGlobalText(I18N.GlobalConst.CLICK_TO_CONTINUE))
|
||||
|
||||
uiMap["player_level_up_ui.lv_img_l.text"]:setText(tostring(self.fromLevel))
|
||||
uiMap["player_level_up_ui.lv_img_r.text"]:setText(tostring(toLevel))
|
||||
local width = uiMap["player_level_up_ui.reward_title"]:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO).preferredWidth
|
||||
uiMap["player_level_up_ui.r"]:setAnchoredPositionX(width/2 + 40)
|
||||
uiMap["player_level_up_ui.l"]:setAnchoredPositionX(-width/2 - 40)
|
||||
|
||||
self:refreshRewards()
|
||||
end
|
||||
|
||||
function PlayerLevelUpUI:refreshRewards()
|
||||
if self.scrollRectComp then
|
||||
self.scrollRectComp:updateAllCell()
|
||||
return
|
||||
end
|
||||
|
||||
local uiMap = self.root:genAllChildren()
|
||||
local scrollRect = uiMap["player_level_up_ui.scroll_rect"]
|
||||
self.scrollRectComp = scrollRect:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
|
||||
self.scrollRectComp:addInitCallback(function()
|
||||
return GConst.TYPEOF_LUA_CLASS.REWARD_CELL
|
||||
end)
|
||||
self.scrollRectComp:addRefreshCallback(function(index, cell)
|
||||
cell:refresh(self.rewards[index])
|
||||
end)
|
||||
self.scrollRectComp:setFadeArgs(0.05, 0.3)
|
||||
self.scrollRectComp:clearCells()
|
||||
local rewardCount = #self.rewards
|
||||
if rewardCount > 10 then
|
||||
local comp = scrollRect:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_SCROLL_RECT)
|
||||
comp.movementType = CS.UnityEngine.UI.ScrollRect.MovementType.Elastic
|
||||
self.scrollRectComp:setPerLineNum(5)
|
||||
scrollRect:setSizeDeltaX(560)
|
||||
else
|
||||
local comp = scrollRect:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_SCROLL_RECT)
|
||||
comp.movementType = CS.UnityEngine.UI.ScrollRect.MovementType.Clamped
|
||||
if rewardCount >= 5 then
|
||||
self.scrollRectComp:setPerLineNum(5)
|
||||
scrollRect:setSizeDeltaX(560)
|
||||
elseif rewardCount <= 0 then
|
||||
self.scrollRectComp:setPerLineNum(1)
|
||||
scrollRect:setSizeDeltaX(560)
|
||||
else
|
||||
self.scrollRectComp:setPerLineNum(rewardCount)
|
||||
scrollRect:setSizeDeltaX(112*rewardCount)
|
||||
end
|
||||
end
|
||||
self.scrollRectComp:refillCells(rewardCount, true)
|
||||
end
|
||||
|
||||
return PlayerLevelUpUI
|
||||
10
lua/app/ui/player/player_level_up_ui.lua.meta
Normal file
10
lua/app/ui/player/player_level_up_ui.lua.meta
Normal file
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b83a832315fd3374695b7da2524db2c4
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||
@ -49,6 +49,13 @@ function PlayerData:addExp(exp)
|
||||
self:markDirty()
|
||||
end
|
||||
|
||||
function PlayerData:setLv(level, exp)
|
||||
self.data.level = level
|
||||
self.data.exp = exp
|
||||
self.lvUpNeedExp = self:getNextExp(self.data.level)
|
||||
self:markDirty()
|
||||
end
|
||||
|
||||
function PlayerData:getLv()
|
||||
return self.data.level
|
||||
end
|
||||
@ -66,6 +73,13 @@ function PlayerData:getExpPercent()
|
||||
return self.data.exp / self.lvUpNeedExp
|
||||
end
|
||||
|
||||
function PlayerData:getIfCanLevelUp()
|
||||
if self.data.level >= self:getMaxLv() then
|
||||
return false
|
||||
end
|
||||
return self.data.exp >= self.lvUpNeedExp
|
||||
end
|
||||
|
||||
function PlayerData:getAccountInfo()
|
||||
if not self.accountInfo then
|
||||
self.accountInfo = LocalData:getAccountInfo()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user