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 init(self, clientPrb = None, ctx = None): if clientPrb is None: clientPrb = prb_control.getClientPrebattle() if clientPrb is not None: clientPrb.onSettingsReceived += self.prb_onSettingsReceived clientPrb.onRosterReceived += self.prb_onRosterReceived if prb_control.isPrebattleSettingsReceived(prebattle=clientPrb): self.prb_onSettingsReceived() if len(prb_control.getPrebattleRosters(prebattle=clientPrb)): self.prb_onRosterReceived() return FUNCTIONAL_INIT_RESULT.INITED
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 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