c1_lua/lua/app/userdata/talent/talent_data.lua
2025-08-04 11:43:40 +08:00

63 lines
1.1 KiB
Lua

local TalentData = class("TalentData", BaseData)
local TalentCfg = ConfigManager:getConfig("talent")
local PlayerExpCfg = ConfigManager:getConfig("player_exp")
function TalentData:setDirty()
self.data.isDirty = not self.data.isDirty
end
function TalentData:ctor()
self.data.isDirty = false
end
function TalentData:init(data)
data = data or GConst.EMPTY_TABLE
self.stage = data.stage
self.levels = data.levels or {}
end
function TalentData:clear()
end
function TalentData:getCfgList()
return TalentCfg
end
function TalentData:getPlayerExpCfgList(stage)
if stage then
return PlayerExpCfg[stage]
end
return PlayerExpCfg
end
function TalentData:getStage()
return self.stage
end
function TalentData:checkStage()
local lv = DataManager.PlayerData:getLv()
return lv >= self.stage, self.stage
end
function TalentData:getLevels(id)
if id then
return self.levels[id] or 0
end
return self.levels
end
function TalentData:onUpgrade(data)
self.upData = data
self.stage = data.stage
self.levels[data.id] = data.level
self:setDirty()
end
function TalentData:getUpData()
local data = self.upData
self.upData = nil
return data
end
return TalentData