PGRData/Script/matrix/xui/xuipivotcombat/xuigrid/XUiPivotCombatEnergyGrid.lua

87 lines
3 KiB
Lua
Raw Normal View History

local XUiPivotCombatEnergyGrid = XClass(nil, "XUiPivotCombatEnergyGrid")
function XUiPivotCombatEnergyGrid:Ctor(ui)
XTool.InitUiObjectByUi(self, ui)
end
function XUiPivotCombatEnergyGrid:Init(region)
self.OriRegion = region
end
function XUiPivotCombatEnergyGrid:Refresh(isEntirety, data, level)
local regionId
local buffText
local region = data
--汇总展示
if isEntirety then
self.GridBuffCurrent.gameObject:SetActiveEx(false) --当前等级
self.GridBuffNormal.gameObject:SetActiveEx(false)
self.GridBuffLock.gameObject:SetActiveEx(false)
self.GridBuffEntirety.gameObject:SetActiveEx(true)
local curEnergyLv = region:GetCurSupplyEnergy()
local maxEnergyLv = region:GetMaxSupplyEnergy()
XTool.InitUiObjectByUi(self, self.GridBuffEntirety)
self.TxtName.text = region:GetRegionName()
self.TextLevelMax.text = "/"..maxEnergyLv
self.TextLevelNum.text = curEnergyLv
buffText = region:GetBuffDesc(curEnergyLv)
self.ImgIcon:SetRawImage(region:GetIcon())
else
self.GridBuffEntirety.gameObject:SetActiveEx(false)
local curEnergyLv = region:GetCurSupplyEnergy()
-- buff 列表三种状态 1.已经获取2.当前等级3.未解锁
local isGet, isCur, isLock = level < curEnergyLv, level == curEnergyLv, level > curEnergyLv
self.GridBuffCurrent.gameObject:SetActiveEx(isCur) --当前等级
self.GridBuffNormal.gameObject:SetActiveEx(isGet)
self.GridBuffLock.gameObject:SetActiveEx(isLock)
if isCur then
XTool.InitUiObjectByUi(self, self.GridBuffCurrent)
elseif isGet then
XTool.InitUiObjectByUi(self, self.GridBuffNormal)
else
XTool.InitUiObjectByUi(self, self.GridBuffLock)
self.BtnGo.CallBack = function()
self:OnClickBtnGo(region)
end
end
if not isLock then
self.ImgIcon:SetRawImage(region:GetIcon())
end
self.TxtName.text = CS.XTextManager.GetText("GuildMemberLevel", level)
buffText = region:GetBuffDesc(level)
end
self.RegionId = regionId
self.NorTxtBuff.text = buffText
end
function XUiPivotCombatEnergyGrid:OnClickBtnGo(region)
if not region then
XLog.Error("XUiPivotCombatEnergyGrid:OnClickBtnGo Error: Not Region Config")
return
end
local isOpen, desc = region:IsOpen()
if not isOpen then
XUiManager.TipMsg(desc)
return
end
--可能存在同次级界面跳转同次级界面的情况
if region:IsSameRegion(self.OriRegion) then
XUiManager.TipText("PivotCombatSameRegion")
return
end
--避免几个次级区域互跳UI栈爆炸
if self.OriRegion then --OriRegion不为空表明是来自次级区域
XLuaUiManager.Remove("UiPivotCombatSecondary")
end
XLuaUiManager.Open("UiPivotCombatSecondary", region)
end
return XUiPivotCombatEnergyGrid