def create(self, ctx, callback=None): if not isinstance(ctx, TrainingSettingsCtx): LOG_ERROR('Invalid context to create training', ctx) if callback: callback(False) elif info.isRequestInCoolDown(REQUEST_TYPE.CREATE): SystemMessages.pushMessage(messages.getJoinFailureMessage( JOIN_FAILURE.COOLDOWN), type=SystemMessages.SM_TYPE.Error) if callback: callback(False) elif prb_control.getClientPrebattle() is None or ctx.isForced(): ctx.startProcessing(callback=callback) BigWorld.player().prb_createTraining(ctx.getArenaTypeID(), ctx.getRoundLen(), ctx.isOpened(), ctx.getComment()) info.setRequestCoolDown( REQUEST_TYPE.CREATE, coolDown=REQUEST_COOLDOWN.PREBATTLE_CREATION) else: LOG_ERROR( 'First, player has to confirm exit from the current prebattle', prb_control.getPrebattleType()) if callback: callback(False) return
def createFunctional(self, dispatcher, ctx): clientPrb = prb_control.getClientPrebattle() if clientPrb is not None: if prb_control.isPrebattleSettingsReceived(prebattle=clientPrb): prbSettings = prb_control.getPrebattleSettings(prebattle=clientPrb) prbType = prb_control.getPrebattleType(settings=prbSettings) clazz = None if prbType in _SUPPORTED_FUNCTIONAL: clazz = _SUPPORTED_FUNCTIONAL[prbType] if clazz: prbFunctional = clazz(prbSettings) for listener in dispatcher._globalListeners: prbFunctional.addListener(listener()) createParams = ctx.getCreateParams() if 'settings' in createParams and isStatefulFunctional(prbFunctional): guiSettings = createParams['settings'] if guiSettings: prbFunctional.applyStates(guiSettings.get(CTRL_ENTITY_TYPE.PREBATTLE)) else: LOG_ERROR('Prebattle with given type is not supported', prbType) prbFunctional = PrbNotSupportedFunctional(prbSettings) else: prbFunctional = PrbInitFunctional() else: prbType = ctx.getPrbType() clazz = None if prbType in _SUPPORTED_INTRO: clazz = _SUPPORTED_INTRO[prbType] if clazz is None: clazz = NoPrbFunctional prbFunctional = clazz() return prbFunctional
def canAssignToTeam(self, team = 1): clientPrb = prb_control.getClientPrebattle() result = False if clientPrb is not None: settings = prb_control.getPrebattleSettings(prebattle=clientPrb) rosters = prb_control.getPrebattleRosters(prebattle=clientPrb) prbType = prb_control.getPrebattleType(clientPrb, settings) result, _ = TeamNoPlayersInBattle(prbType).check(rosters, team, settings.getTeamLimits(team)) return result
def canAssignToTeam(self, team=1): clientPrb = prb_control.getClientPrebattle() result = False if clientPrb is not None: settings = prb_control.getPrebattleSettings(prebattle=clientPrb) rosters = prb_control.getPrebattleRosters(prebattle=clientPrb) prbType = prb_control.getPrebattleType(clientPrb, settings) result, _ = TeamNoPlayersInBattle(prbType).check( rosters, team, settings.getTeamLimits(team)) return result
def doAction(self, action, dispatcher = None): if action.actionName == PREBATTLE_ACTION_NAME.LEAVE_TRAINING_LIST: events_dispatcher.loadHangar() elif prb_control.getClientPrebattle() is None: self.__loadTrainingList() elif prb_control.isTraining(): if dispatcher is not None: self.__loadTrainingRoom(dispatcher) else: LOG_ERROR('Dispatcher not found') else: LOG_ERROR('Player is joined to prebattle', prb_control.getPrebattleType()) return True
def doAction(self, action, dispatcher=None): if action.actionName == PREBATTLE_ACTION_NAME.LEAVE_TRAINING_LIST: events_dispatcher.loadHangar() elif prb_control.getClientPrebattle() is None: self.__loadTrainingList() elif prb_control.isTraining(): if dispatcher is not None: self.__loadTrainingRoom(dispatcher) else: LOG_ERROR('Dispatcher not found') else: LOG_ERROR('Player is joined to prebattle', prb_control.getPrebattleType()) return True
def create(self, ctx, callback=None): if prb_cooldown.validatePrbCreationCooldown(): if callback: callback(False) elif getClientPrebattle() is None or ctx.isForced(): ctx.startProcessing(callback=callback) BigWorld.player().prb_createCompany(ctx.isOpened(), ctx.getComment(), ctx.getDivision()) prb_cooldown.setPrbCreationCooldown() else: LOG_ERROR( 'First, player has to confirm exit from the current prebattle', getPrebattleType()) if callback: callback(False)
def createPrbFunctional(dispatcher): clientPrb = prb_control.getClientPrebattle() if clientPrb is not None: if prb_control.isPrebattleSettingsReceived(prebattle=clientPrb): prbSettings = prb_control.getPrebattleSettings(prebattle=clientPrb) prbType = prb_control.getPrebattleType(settings=prbSettings) if prbType in _SUPPORTED_PREBATTLE: prbFunctional = _SUPPORTED_PREBATTLE[prbType][1](prbSettings) for listener in dispatcher._globalListeners: prbFunctional.addListener(listener()) else: LOG_ERROR("Prebattle with given type is not supported", prbType) prbFunctional = PrbNotSupportedFunctional(prbSettings) else: prbFunctional = PrbInitFunctional() else: prbFunctional = NoPrbFunctional() return prbFunctional
def createPrbFunctional(dispatcher): clientPrb = prb_control.getClientPrebattle() if clientPrb is not None: if prb_control.isPrebattleSettingsReceived(prebattle=clientPrb): prbSettings = prb_control.getPrebattleSettings(prebattle=clientPrb) prbType = prb_control.getPrebattleType(settings=prbSettings) if prbType in _SUPPORTED_PREBATTLE: prbFunctional = _SUPPORTED_PREBATTLE[prbType][1](prbSettings) for listener in dispatcher._globalListeners: prbFunctional.addListener(listener()) else: LOG_ERROR('Prebattle with given type is not supported', prbType) prbFunctional = PrbNotSupportedFunctional(prbSettings) else: prbFunctional = PrbInitFunctional() else: prbFunctional = NoPrbFunctional() return prbFunctional
def create(self, ctx, callback=None): if not isinstance(ctx, prb_ctx.TrainingSettingsCtx): LOG_ERROR('Invalid context to create training', ctx) if callback: callback(False) elif prb_cooldown.validatePrbCreationCooldown(): if callback: callback(False) elif getClientPrebattle() is None or ctx.isForced(): ctx.startProcessing(callback=callback) BigWorld.player().prb_createTraining(ctx.getArenaTypeID(), ctx.getRoundLen(), ctx.isOpened(), ctx.getComment()) prb_cooldown.setPrbCreationCooldown() else: LOG_ERROR( 'First, player has to confirm exit from the current prebattle', getPrebattleType()) if callback: callback(False)
def createFunctional(self, dispatcher, ctx): clientPrb = prb_control.getClientPrebattle() if clientPrb is not None: if prb_control.isPrebattleSettingsReceived(prebattle=clientPrb): prbSettings = prb_control.getPrebattleSettings( prebattle=clientPrb) prbType = prb_control.getPrebattleType(settings=prbSettings) clazz = None if prbType in _SUPPORTED_FUNCTIONAL: clazz = _SUPPORTED_FUNCTIONAL[prbType] if clazz: prbFunctional = clazz(prbSettings) for listener in dispatcher._globalListeners: prbFunctional.addListener(listener()) createParams = ctx.getCreateParams() if 'settings' in createParams and isStatefulFunctional( prbFunctional): guiSettings = createParams['settings'] if guiSettings: prbFunctional.applyStates( guiSettings.get(CTRL_ENTITY_TYPE.PREBATTLE)) else: LOG_ERROR('Prebattle with given type is not supported', prbType) prbFunctional = PrbNotSupportedFunctional(prbSettings) else: prbFunctional = PrbInitFunctional() else: prbType = ctx.getPrbType() clazz = None if prbType in _SUPPORTED_INTRO: clazz = _SUPPORTED_INTRO[prbType] if clazz is None: clazz = NoPrbFunctional prbFunctional = clazz() return prbFunctional
def create(self, ctx, callback = None): if not isinstance(ctx, context.SquadSettingsCtx): LOG_ERROR('Invalid context to create squad', ctx) if callback: callback(False) elif info.isRequestInCoolDown(REQUEST_TYPE.CREATE): SystemMessages.pushMessage(messages.getJoinFailureMessage(JOIN_FAILURE.COOLDOWN), type=SystemMessages.SM_TYPE.Error) if callback: callback(False) elif prb_control.getClientPrebattle() is None or ctx.isForced(): ctx.startProcessing(callback=callback) BigWorld.player().prb_createSquad() info.setRequestCoolDown(REQUEST_TYPE.CREATE, coolDown=REQUEST_COOLDOWN.PREBATTLE_CREATION) else: LOG_ERROR('First, player has to confirm exit from the current prebattle', prb_control.getPrebattleType()) if callback: callback(False) return
def join(self, ctx, callback = None): if prb_control.getClientPrebattle() is None or ctx.isForced(): ctx.startProcessing(callback=callback) BigWorld.player().prb_join(ctx.getID()) else: LOG_ERROR('First, player has to confirm exit from the current prebattle', prb_control.getPrebattleType()) if callback: callback(False)
def getPrbType(self): return getPrebattleType()
def doAction(self, action, dispatcher = None): if isBattleSession(): events_dispatcher.loadBattleSessionWindow(getPrebattleType()) else: events_dispatcher.loadBattleSessionList() return True
def create(self, ctx, callback = None): if prb_cooldown.validatePrbCreationCooldown(): if callback: callback(False) elif getClientPrebattle() is None or ctx.isForced(): ctx.startProcessing(callback=callback) BigWorld.player().prb_createEventSquad() prb_cooldown.setPrbCreationCooldown() else: LOG_ERROR('First, player has to confirm exit from the current prebattle', getPrebattleType()) if callback: callback(False)
def create(self, ctx, callback = None): if not isinstance(ctx, prb_ctx.TrainingSettingsCtx): LOG_ERROR('Invalid context to create training', ctx) if callback: callback(False) elif prb_cooldown.validatePrbCreationCooldown(): if callback: callback(False) elif getClientPrebattle() is None or ctx.isForced(): ctx.startProcessing(callback=callback) BigWorld.player().prb_createTraining(ctx.getArenaTypeID(), ctx.getRoundLen(), ctx.isOpened(), ctx.getComment()) prb_cooldown.setPrbCreationCooldown() else: LOG_ERROR('First, player has to confirm exit from the current prebattle', getPrebattleType()) if callback: callback(False)
def join(self, ctx, callback = None): if prb_control.getClientPrebattle() is None or ctx.isForced(): ctx.startProcessing(callback=callback) BigWorld.player().prb_join(ctx.getID()) else: LOG_ERROR('First, player has to confirm exit from the current prebattle', prb_control.getPrebattleType()) if callback: callback(False) return
def doAction(self, action, dispatcher=None): if isBattleSession(): events_dispatcher.loadBattleSessionWindow(getPrebattleType()) else: events_dispatcher.loadBattleSessionList() return True