forked from endernon/PGRData
72 lines
No EOL
2.5 KiB
Lua
72 lines
No EOL
2.5 KiB
Lua
local Default = {
|
|
_Id = 0,
|
|
_TemplateId = 0,
|
|
_Level = 0,
|
|
_Breakthrough = 0,
|
|
_Resonances = 0,
|
|
_CharacterId = 0,
|
|
_Site = 0,
|
|
_Exist = false,
|
|
_Name = "",
|
|
_Icon = "",
|
|
_QualityIcon = "",
|
|
_EquipDesc = "",
|
|
_AttrMap = {},
|
|
_BreakthroughIcon = "",
|
|
_EquipType = XArrangeConfigs.Types.Weapon,
|
|
}
|
|
|
|
|
|
local XEquipGuideModel = XClass(XDataEntityBase, "XEquipGuideModel")
|
|
|
|
function XEquipGuideModel:Ctor(templateId)
|
|
self:Init(Default, templateId)
|
|
end
|
|
|
|
function XEquipGuideModel:InitData(id)
|
|
self:SetProperty("_TemplateId", id)
|
|
self:SetProperty("_Name", XDataCenter.EquipManager.GetEquipName(self._TemplateId))
|
|
self:SetProperty("_Icon", XDataCenter.EquipManager.GetEquipIconPath(self._TemplateId))
|
|
self:SetProperty("_QualityIcon", XDataCenter.EquipManager.GetEquipQualityPath(self._TemplateId))
|
|
self:SetProperty("_EquipDesc", XDataCenter.EquipManager.GetEquipDescription(self._TemplateId))
|
|
self:SetProperty("_EquipType", XArrangeConfigs.GetType(self._TemplateId))
|
|
self:SetProperty("_Site", XDataCenter.EquipManager.GetEquipSiteByTemplateId(self._TemplateId))
|
|
end
|
|
|
|
function XEquipGuideModel:Refresh(equipId)
|
|
self:SetProperty("_Id", equipId)
|
|
local exist = XTool.IsNumberValid(self._Id)
|
|
local lv, breakthrough, resonances, characterId = 1, 0, 0, 0
|
|
local attrMap
|
|
if exist then
|
|
local equip = XDataCenter.EquipManager.GetEquip(self._Id)
|
|
lv = equip.Level
|
|
breakthrough = equip.Breakthrough
|
|
for i = 1, XEquipConfig.MAX_RESONANCE_SKILL_COUNT do
|
|
if XDataCenter.EquipManager.CheckEquipPosResonanced(self._Id, i) then
|
|
resonances = resonances + 1
|
|
end
|
|
end
|
|
attrMap = XDataCenter.EquipManager.GetEquipAttrMap(self._Id, lv)
|
|
characterId = equip.CharacterId
|
|
else
|
|
attrMap = XDataCenter.EquipManager.ConstructTemplateEquipAttrMap(self._TemplateId, breakthrough, lv)
|
|
end
|
|
self:SetProperty("_Level", lv)
|
|
self:SetProperty("_Breakthrough", breakthrough)
|
|
self:SetProperty("_Resonances", resonances)
|
|
self:SetProperty("_CharacterId", characterId)
|
|
self:SetProperty("_Exist", exist)
|
|
self:SetProperty("_AttrMap", attrMap)
|
|
self:SetProperty("_BreakthroughIcon", breakthrough > 0 and XEquipConfig.GetEquipBreakThroughSmallIcon(breakthrough) or "")
|
|
end
|
|
|
|
function XEquipGuideModel:IsWearing(characterId)
|
|
return XDataCenter.EquipGuideManager.CheckEquipIsWearingOnCharacter(self._Id, characterId)
|
|
end
|
|
|
|
function XEquipGuideModel:IsExist()
|
|
return XTool.IsNumberValid(self._Id)
|
|
end
|
|
|
|
return XEquipGuideModel |