コード例 #1
0
    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
コード例 #2
0
    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()
コード例 #3
0
ファイル: unitfactory.py プロジェクト: kblw/wot_client
    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
コード例 #4
0
ファイル: common.py プロジェクト: webiumsk/WoT
 def __getPlayerLimits(self, divisionType):
     divisionIndex = SORTIE_DIVISION._ORDER.index(divisionType)
     division = SupportedRosterSettings.list(PREBATTLE_TYPE.SORTIE)[divisionIndex]
     return (division.getMinSlots(), division.getMaxSlots())