c1_lua/lua/app/userdata/hero/hero_data.lua
2023-04-13 21:13:43 +08:00

50 lines
925 B
Lua

local HeroEntity = require "app/userdata/hero/hero_entity"
local HeroData = class("HeroData", BaseData)
function HeroData:ctor()
self.heroes = {}
self.data.activeCount = 0
end
function HeroData:clear()
self.heroes = {}
end
function HeroData:init(data)
self.heroes = {}
if data then
for _, heroInfo in pairs(data.heroes) do
self:addHero(heroInfo.cfg_id, heroInfo.lv)
end
end
end
function HeroData:addHero(cfgId, lv)
if self.heroes[cfgId] then
return
end
self.heroes[cfgId] = HeroEntity:create(cfgId, lv)
self.data.activeCount = self.data.activeCount + 1
end
function HeroData:getHeroById(id)
return self.heroes[id]
end
function HeroData:getAllHeroes()
return self.heroes
end
function HeroData:getActiveHeroCount()
return self.data.activeCount
end
function HeroData:setHeroLv(id, lv)
if not self.heroes[id] then
self:addHero(id, lv)
return
end
self.heroes[id]:setLv(lv)
end
return HeroData