c1_lua/lua/app/module/formation/formation_manager.lua
2023-05-05 18:27:33 +08:00

44 lines
1.2 KiB
Lua

local FormationManager = class("FormationManager", BaseModule)
function FormationManager:upHeroToStageFormation(heroId, matchType)
local formation = DataManager.FormationData:getStageFormation()
if formation[matchType] == heroId then
return
end
local args = {
formationType = GConst.BattleConst.BATTLE_TYPE.STAGE,
matchType = matchType,
heroId = heroId
}
-- self:sendMessage(ProtoMsgType.FromMsgEnum., args, {}, self.upHeroToStageFormationFinish)
end
function FormationManager:upHeroToStageFormationFinish(result)
if result.err_code == GConst.ERROR_STR.SUCCESS then
DataManager.FormationData:upHeroToFormation(GConst.BattleConst.BATTLE_TYPE.STAGE, matchType, heroId)
DataManager.HeroData:setDirty()
end
end
function FormationManager:formationIsFull()
local actvieMap = DataManager.HeroData:getMatchActiveHeroMap()
local formation = DataManager.FormationData:getStageFormation()
local count = 0
for matchtype = 1, GConst.BattleConst.ELEMENT_TYPE_COUNT do
if not formation[matchtype] or formation[matchtype] <= 0 then
if actvieMap[matchtype] and table.nums(actvieMap[matchtype]) > 0 then
return false
end
else
count = count + 1
end
end
if count <= 0 then
return false
end
return true
end
return FormationManager