------------------------------------------------ --作者: 杨全福 --日期: 2019-06-18 --文件: PetEatInfo.lua --模块: PetEatInfo --描述: 宠物吃丹数据 ------------------------------------------------ local PetSoulInfo = { ID = 0, --配置数据 Cfg = nil, --基础属性 BasePros = nil, --当前个数 CurLevel = 0, --最大个数 MaxLevel = 0, --当前属性 CurPros = nil, }; function PetSoulInfo:New(cfg) local _m = Utils.DeepCopy(self) _m.ID = cfg.Id _m.Cfg = cfg _m.BasePros = Utils.SplitStrByTableS(cfg.Attribute, {';','_'}) _m.CurLevel = 0 _m.MaxLevel = cfg.ConsumptionMax _m:CalculatePros() return _m end --设置当前激活的数量 function PetSoulInfo:SetCurLevel(level) if self.CurLevel ~= level then self.CurLevel = level self:CalculatePros() end end --计算当前属性 function PetSoulInfo:CalculatePros() self.CurPros = List:New() for i = 1, #self.BasePros do self.CurPros:Add({self.BasePros[i][1], self.BasePros[i][2] * self.CurLevel}) end end return PetSoulInfo