PGRData/Script/matrix/xentity/xtheatre/token/XTheatreToken.lua

134 lines
No EOL
3.2 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

local type = type
local Default = {
_Id = 0, --TheatreItem表的Id
_FightCount = 0, --使用信物战斗的次数
_Lv = 0
}
--信物和道具
local XTheatreToken = XClass(nil, "XTheatreToken")
--idTheatreItem表的Id
function XTheatreToken:Ctor(id)
for key, value in pairs(Default) do
if type(value) == "table" then
self[key] = {}
else
self[key] = value
end
end
self._Id = id
self._IsActive = false
end
function XTheatreToken:GetId()
return self._Id
end
function XTheatreToken:UpdateData(data)
if data.FightCount then
self._FightCount = data.FightCount
end
self._Lv = data.Lv
self._IsActive = true
end
function XTheatreToken:UpdateLv(lv)
self._Lv = lv
end
function XTheatreToken:IsActive()
if not self:IsToken() then
return true
end
return self._IsActive
end
function XTheatreToken:GetLv()
return self._Lv
end
function XTheatreToken:GetFightCount()
return self._FightCount
end
function XTheatreToken:IsToken()
return self:GetType() == XTheatreConfigs.ItemType.Token
end
function XTheatreToken:GetType()
return XTheatreConfigs.GetTheatreItemType(self:GetId())
end
function XTheatreToken:GetName()
local id = self:GetId()
if self:IsToken() then
local keepsakeId = self:GetKeepsakeId()
return XTheatreConfigs.GetTheatreKeepsakeName(keepsakeId)
end
local itemId = XTheatreConfigs.GetTheatreItemId(id)
return XItemConfigs.GetItemNameById(itemId)
end
function XTheatreToken:GetIcon()
local id = self:GetId()
if self:IsToken() then
local keepsakeId = self:GetKeepsakeId()
return XTheatreConfigs.GetTheatreKeepsakeIcon(keepsakeId)
end
local itemId = XTheatreConfigs.GetTheatreItemId(id)
return XItemConfigs.GetItemIconById(itemId)
end
function XTheatreToken:GetQualityIcon()
local id = self:GetId()
local quality
if self:IsToken() then
quality = XTheatreConfigs.GetTheatreItemQuality(id)
else
local itemId = XTheatreConfigs.GetTheatreItemId(id)
quality = XDataCenter.ItemManager.GetItemQuality(itemId)
end
return XTheatreConfigs.GetClientConfig("SkillQualityIcon", quality)
end
function XTheatreToken:GetItemQualityIcon()
local id = self:GetId()
local quality
if self:IsToken() then
quality = XTheatreConfigs.GetTheatreItemQuality(id)
else
local itemId = XTheatreConfigs.GetTheatreItemId(id)
quality = XDataCenter.ItemManager.GetItemQuality(itemId)
end
return XArrangeConfigs.GeQualityPath(quality)
end
--获得描述
function XTheatreToken:GetDescription()
local id = self:GetId()
if self:IsToken() then
local keepsakeId = self:GetKeepsakeId()
return XTheatreConfigs.GetTheatreKeepsakeDescription(keepsakeId)
end
local itemId = XTheatreConfigs.GetTheatreItemId(id)
return XDataCenter.ItemManager.GetItemDescription(itemId)
end
--获得获取途径
function XTheatreToken:GetExplain()
local id = self:GetId()
return XTheatreConfigs.GetTheatreItemExplain(id)
end
function XTheatreToken:GetKeepsakeId()
local id = self:GetId()
return XTheatreConfigs.GetTheatreItemKeepsakeId(id)
end
return XTheatreToken