58 lines
1.2 KiB
Lua
58 lines
1.2 KiB
Lua
local BattleSkillEntity = require "app/userdata/battle/skill/battle_skill_entity"
|
|
|
|
local BattleUnitEntity = class("BattleUnitEntity", BaseData)
|
|
|
|
function BattleUnitEntity:ctor()
|
|
end
|
|
|
|
function BattleUnitEntity:init(unitData, side, team)
|
|
self.unitData = unitData
|
|
self.side = side
|
|
self.team = team
|
|
self:initAttr()
|
|
self:initSkill()
|
|
end
|
|
|
|
function BattleUnitEntity:initAttr()
|
|
local attr = self.attr or {}
|
|
if self.attr then -- 已经初始化过了
|
|
for k, v in pairs(attr) do
|
|
attr[k] = self.unitData.attr[k] or 0
|
|
end
|
|
else
|
|
for k, v in pairs(self.unitData.attr) do
|
|
attr[k] = v
|
|
end
|
|
end
|
|
self.attr = attr
|
|
end
|
|
|
|
function BattleUnitEntity:initSkill()
|
|
self.skills = {}
|
|
if self.unitData.activeSkill then
|
|
local skill = BattleSkillEntity:create(self.unitData.activeSkill, GConst.BattleConst.SKILL_TYPE_ACTIVE, self)
|
|
table.insert(self.skills, skill)
|
|
end
|
|
end
|
|
|
|
function BattleUnitEntity:getModelId()
|
|
return self.unitData.modelId
|
|
end
|
|
|
|
function BattleUnitEntity:getMatchType()
|
|
return self.unitData.matchType
|
|
end
|
|
|
|
function BattleUnitEntity:getSide()
|
|
return self.side
|
|
end
|
|
|
|
function BattleUnitEntity:setIsMainUnit(isMainUnit)
|
|
self.isMainUnit = isMainUnit
|
|
end
|
|
|
|
function BattleUnitEntity:getIsMainUnit()
|
|
return self.isMainUnit
|
|
end
|
|
|
|
return BattleUnitEntity |