def createFunctional(self, dispatcher, ctx): unitMrg = prb_control.getClientUnitMgr() if unitMrg.id and unitMrg.unitIdx: unit = prb_control.getUnit(unitMrg.unitIdx, safe=True) if unit: unitFunctional = UnitFunctional(unit.getPrebattleType(), DynamicRosterSettings(unit)) for listener in dispatcher._globalListeners: unitFunctional.addListener(listener()) else: LOG_ERROR('Unit is not found in unit manager', unitMrg.unitIdx, unitMrg.units) unitMrg.leave() unitFunctional = NoUnitFunctional() else: prbType = ctx.getPrbType() if prbType: unitFunctional = IntroFunctional( prbType, ctx.getCreateParams().get('modeFlags', UNIT_MODE_FLAGS.UNDEFINED), SupportedRosterSettings.last(prbType)) for listener in dispatcher._globalListeners: unitFunctional.addListener(listener()) else: unitFunctional = NoUnitFunctional() return unitFunctional
def _populate(self): super(FortChoiceDivisionWindow, self)._populate() self.playersRange = [] for roster in SupportedRosterSettings.list(PREBATTLE_TYPE.SORTIE): self.playersRange.append((roster.getMinSlots(), roster.getMaxSlots())) self.__makeData()
def createFunctional(self, dispatcher, ctx): unitMrg = prb_control.getClientUnitMgr() if unitMrg.id and unitMrg.unitIdx: unit = prb_control.getUnit(unitMrg.unitIdx, safe=True) if unit: unitFunctional = UnitFunctional(unit.getPrebattleType(), DynamicRosterSettings(unit)) for listener in dispatcher._globalListeners: unitFunctional.addListener(listener()) else: LOG_ERROR('Unit is not found in unit manager', unitMrg.unitIdx, unitMrg.units) unitMrg.leave() unitFunctional = NoUnitFunctional() else: prbType = ctx.getPrbType() if prbType: unitFunctional = IntroFunctional(prbType, ctx.getCreateParams().get('modeFlags', UNIT_MODE_FLAGS.UNDEFINED), SupportedRosterSettings.last(prbType)) for listener in dispatcher._globalListeners: unitFunctional.addListener(listener()) else: unitFunctional = NoUnitFunctional() return unitFunctional
def __getPlayerLimits(self, divisionType): divisionIndex = SORTIE_DIVISION._ORDER.index(divisionType) division = SupportedRosterSettings.list(PREBATTLE_TYPE.SORTIE)[divisionIndex] return (division.getMinSlots(), division.getMaxSlots())