forked from endernon/PGRData
61 lines
No EOL
1.4 KiB
Lua
61 lines
No EOL
1.4 KiB
Lua
local XEquip = require("XEntity/XEquip/XEquip")
|
|
local XEquipViewModel = XClass(nil, "XEquipViewModel")
|
|
|
|
function XEquipViewModel:Ctor(equipCid)
|
|
self.Config = XEquipConfig.GetEquipCfg(equipCid)
|
|
-- XEquip
|
|
self.Equip = nil
|
|
self.UpdatedData = nil
|
|
-- 初始化来自XEquip的默认字段,保持一致性
|
|
for key, value in pairs(XEquip.GetDefaultFields()) do
|
|
if type(value) == "table" then
|
|
self[key] = XTool.Clone(value)
|
|
else
|
|
self[key] = value
|
|
end
|
|
end
|
|
end
|
|
|
|
function XEquipViewModel:UpdateWithData(data)
|
|
self.UpdatedData = data
|
|
for key, value in pairs(data) do
|
|
self[key] = value
|
|
end
|
|
end
|
|
|
|
function XEquipViewModel:GetName()
|
|
return self.Config.Name or ""
|
|
end
|
|
|
|
function XEquipViewModel:GetLevel()
|
|
return self.Level
|
|
end
|
|
|
|
function XEquipViewModel:GetQualityIcon()
|
|
return XDataCenter.EquipManager.GetEquipQualityPath(self.Config.Id)
|
|
end
|
|
|
|
function XEquipViewModel:GetIcon()
|
|
return XDataCenter.EquipManager.GetEquipIconBagPath(self.Config.Id, self.Breakthrough)
|
|
end
|
|
|
|
function XEquipViewModel:GetResonanceInfos()
|
|
return self.ResonanceInfo
|
|
end
|
|
|
|
function XEquipViewModel:GetBreakthrough()
|
|
return self.Breakthrough
|
|
end
|
|
|
|
function XEquipViewModel:GetEquip()
|
|
if self.Equip == nil then
|
|
self.Equip = XEquip.New(self.UpdatedData)
|
|
end
|
|
return self.Equip
|
|
end
|
|
|
|
function XEquipViewModel:GetSuitId()
|
|
return self.Config.SuitId
|
|
end
|
|
|
|
return XEquipViewModel |