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 } ServerDataManager:dataOperate(GConst.ServerDataConst.DATA_OP_BEHAVIOR.UPDATE_FORMATION, args, function(msgData) if msgData.status == 0 then DataManager.FormationData:upHeroToFormation(GConst.BattleConst.BATTLE_TYPE.STAGE, matchType, heroId) end 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