55 lines
No EOL
2.1 KiB
Lua
55 lines
No EOL
2.1 KiB
Lua
--===========================================================================
|
||
--v1.28 分阶拆分-XUiPanelQualityPreview-属性成长动态列表:XUiPanelQualityAttributeDynamic
|
||
--===========================================================================
|
||
local XUiPanelQualityAttributeDynamic = XClass(nil, "XUiPanelQualityAttributeDynamic")
|
||
local UiPanelQualityAttributeGrid = require("XUi/XUiCharacter/XUiPanelQualityPreview/XUiPanelQualityPreviewGrid/XUiPanelQualityAttributeGrid")
|
||
local AttributeGrade = {
|
||
Before = 1, --升级前
|
||
After = 2, --升级后
|
||
}
|
||
local AttributeShow = {
|
||
Life = 1,
|
||
AttackNormal = 2,
|
||
DefenseNormal = 3,
|
||
Crit = 4,
|
||
Quality = 5
|
||
}
|
||
|
||
function XUiPanelQualityAttributeDynamic:Ctor(ui, attributeData, quality)
|
||
self.GameObject = ui.gameObject
|
||
self.Transform = ui.transform
|
||
self.AttributeData = attributeData
|
||
self.Quality = quality
|
||
|
||
XTool.InitUiObject(self)
|
||
self.DynamicTable = XDynamicTableNormal.New(ui)
|
||
self.DynamicTable:SetProxy(UiPanelQualityAttributeGrid, self)
|
||
self.DynamicTable:SetDelegate(self)
|
||
end
|
||
|
||
function XUiPanelQualityAttributeDynamic:RefreshData(attributeData, quality)
|
||
self.AttributeData = attributeData
|
||
self.Quality = quality
|
||
end
|
||
|
||
function XUiPanelQualityAttributeDynamic:UpdateDynamicTable(index)
|
||
if not index then index = 1 end
|
||
self.DynamicTable:SetDataSource(self.AttributeData)
|
||
self.DynamicTable:ReloadDataASync(index)
|
||
end
|
||
|
||
function XUiPanelQualityAttributeDynamic:OnDynamicTableEvent(event, index, grid)
|
||
if event == DYNAMIC_DELEGATE_EVENT.DYNAMIC_GRID_INIT then
|
||
grid:Init(self, self.RootUi)
|
||
elseif event == DYNAMIC_DELEGATE_EVENT.DYNAMIC_GRID_ATINDEX then
|
||
local isSelect = self.Quality == self.AttributeData[index][AttributeGrade.Before][AttributeShow.Quality]
|
||
local isMax = false
|
||
-- 满级特殊处理
|
||
if index == #self.AttributeData then
|
||
isMax = self.Quality == self.AttributeData[index][AttributeGrade.After][AttributeShow.Quality]
|
||
end
|
||
grid:Refresh(self.AttributeData[index], isSelect, isMax)
|
||
end
|
||
end
|
||
|
||
return XUiPanelQualityAttributeDynamic |