76 lines
2.4 KiB
Lua
76 lines
2.4 KiB
Lua
|
local XUiGridPokemonMonster = require("XUi/XUiPokemon/XUiMonster/XUiGridPokemonMonster")
|
||
|
local XUiPanelExpBar = require("XUi/XUiSettleWinMainLine/XUiPanelExpBar")
|
||
|
|
||
|
local ipairs = ipairs
|
||
|
local CSUnityEngineObjectInstantiate = CS.UnityEngine.Object.Instantiate
|
||
|
|
||
|
local XUiPanelSettleWinPokemon = XClass(nil, "XUiPanelSettleWinPokemon")
|
||
|
|
||
|
function XUiPanelSettleWinPokemon:Ctor(ui)
|
||
|
self.GameObject = ui.gameObject
|
||
|
self.Transform = ui.transform
|
||
|
self.MonsterGrids = {}
|
||
|
|
||
|
XTool.InitUiObject(self)
|
||
|
|
||
|
self.GridMonster.gameObject:SetActiveEx(false)
|
||
|
end
|
||
|
|
||
|
function XUiPanelSettleWinPokemon:Refresh(data)
|
||
|
self.Data = data
|
||
|
|
||
|
self:UpdateMonsters()
|
||
|
self:UpdatePlayerInfo()
|
||
|
end
|
||
|
|
||
|
function XUiPanelSettleWinPokemon:UpdateMonsters()
|
||
|
local monsterCount = 0
|
||
|
|
||
|
local monsterIds = XDataCenter.PokemonManager.GetTeamMonsterIds()
|
||
|
for _, monsterId in ipairs(monsterIds) do
|
||
|
|
||
|
if monsterId > 0 then
|
||
|
monsterCount = monsterCount + 1
|
||
|
|
||
|
local grid = self.MonsterGrids[monsterCount]
|
||
|
if not grid then
|
||
|
local ui = CSUnityEngineObjectInstantiate(self.GridMonster, self.PanelMonsterContent)
|
||
|
grid = XUiGridPokemonMonster.New(ui)
|
||
|
self.MonsterGrids[monsterCount] = grid
|
||
|
end
|
||
|
|
||
|
grid:Refresh(monsterId)
|
||
|
grid.GameObject:SetActiveEx(true)
|
||
|
|
||
|
end
|
||
|
|
||
|
end
|
||
|
|
||
|
for index = monsterCount + 1, #self.MonsterGrids do
|
||
|
local grid = self.MonsterGrids[index]
|
||
|
if grid then
|
||
|
grid.GameObject:SetActiveEx(false)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
end
|
||
|
|
||
|
-- 玩家经验
|
||
|
function XUiPanelSettleWinPokemon:UpdatePlayerInfo()
|
||
|
local data = self.Data
|
||
|
if XTool.IsTableEmpty(data) then return end
|
||
|
|
||
|
local lastLevel = data.RoleLevel
|
||
|
local lastExp = data.RoleExp
|
||
|
local lastMaxExp = XPlayerManager.GetMaxExp(lastLevel, XPlayer.IsHonorLevelOpen())
|
||
|
local curLevel = XPlayer.GetLevelOrHonorLevel()
|
||
|
local curExp = XPlayer.Exp
|
||
|
local curMaxExp = XPlayerManager.GetMaxExp(curLevel, XPlayer.IsHonorLevelOpen())
|
||
|
local txtLevelName = XPlayer.IsHonorLevelOpen() and CS.XTextManager.GetText("HonorLevel") or nil
|
||
|
local stageCfg = XDataCenter.FubenManager.GetStageCfg(data.StageId)
|
||
|
local addExp = stageCfg.TeamExp
|
||
|
self.PlayerExpBar = self.PlayerExpBar or XUiPanelExpBar.New(self.PanelPlayerExpBar)
|
||
|
self.PlayerExpBar:LetsRoll(lastLevel, lastExp, lastMaxExp, curLevel, curExp, curMaxExp, addExp, txtLevelName)
|
||
|
end
|
||
|
|
||
|
return XUiPanelSettleWinPokemon
|