示例#1
0
 def _createByAccountState(self, ctx):
     created = None
     clientPrb = prb_getters.getClientPrebattle()
     if clientPrb is not None:
         if prb_getters.isPrebattleSettingsReceived(prebattle=clientPrb):
             prbSettings = prb_getters.getPrebattleSettings(
                 prebattle=clientPrb)
             prbType = prb_getters.getPrebattleType(settings=prbSettings)
             clazz = None
             if prbType in _SUPPORTED_FUNCTIONAL:
                 clazz = _SUPPORTED_FUNCTIONAL[prbType]
             ctx.removeFlags(FUNCTIONAL_FLAG.PREBATTLE_BITMASK)
             ctx.addFlags(FUNCTIONAL_FLAG.PREBATTLE)
             if clazz:
                 created = clazz(prbSettings)
             else:
                 LOG_ERROR('Prebattle with given type is not supported',
                           prbType)
                 created = not_supported.NotSupportedFunctional()
         elif not ctx.hasFlags(FUNCTIONAL_FLAG.PREBATTLE_INIT):
             ctx.removeFlags(FUNCTIONAL_FLAG.PREBATTLE_BITMASK)
             ctx.addFlags(FUNCTIONAL_FLAG.PREBATTLE_INIT)
             created = default.PrbInitFunctional()
     else:
         created = self._createByPrbType(ctx)
     return created
示例#2
0
 def __init__(self, pID, roster, group, waitingID=''):
     super(GroupAssignLegacyCtx,
           self).__init__(entityType=prb_getters.getPrebattleType(),
                          waitingID=waitingID)
     self.__group = group
     self.__pID = pID
     self.__roster = roster
示例#3
0
 def __init__(self, isReadyState, isInitial=False, waitingID=''):
     super(SetPlayerStateCtx,
           self).__init__(entityType=prb_getters.getPrebattleType(),
                          waitingID=waitingID)
     self.__isReadyState = isReadyState
     self.__isInitial = isInitial
     self.__errorString = ''
示例#4
0
 def __init__(self, pID, roster, waitingID=''):
     super(AssignLegacyCtx,
           self).__init__(entityType=prb_getters.getPrebattleType(),
                          waitingID=waitingID)
     self.__pID = pID
     self.__roster = roster
     self.__errorString = ''
示例#5
0
 def __init__(self, roster, fLane, tLane, waitingID=''):
     super(GroupSwapInTeamLegacyCtx,
           self).__init__(entityType=prb_getters.getPrebattleType(),
                          waitingID=waitingID)
     self.__roster = roster
     self.__fromLane = fLane
     self.__toLane = tLane
示例#6
0
 def join(self, ctx, callback=None):
     if prb_getters.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_getters.getPrebattleType())
         if callback:
             callback(False)
     return
示例#7
0
 def __init__(self,
              team,
              isReadyState,
              waitingID='',
              isForced=True,
              gamePlayMask=0):
     super(SetTeamStateCtx,
           self).__init__(entityType=prb_getters.getPrebattleType(),
                          waitingID=waitingID,
                          isForced=isForced)
     self.__team = team
     self.__isReadyState = isReadyState
     self.__gamePlayMask = gamePlayMask
示例#8
0
 def canAssignToTeam(self, team = 1):
     result = super(BattleSessionPrbPermissions, self).canAssignToTeam(team)
     if not result:
         return False
     else:
         clientPrb = prb_getters.getClientPrebattle()
         result = False
         if clientPrb is not None:
             settings = prb_getters.getPrebattleSettings(prebattle=clientPrb)
             rosters = prb_getters.getPrebattleRosters(prebattle=clientPrb)
             prbType = prb_getters.getPrebattleType(clientPrb, settings)
             result, _ = limits.TeamNoPlayersInBattle(prbType).check(rosters, team, settings.getTeamLimits(team))
         return result
示例#9
0
 def canAssignToTeam(self, team = 1):
     result = super(BattleSessionPermissions, self).canAssignToTeam(team)
     if not result:
         return False
     else:
         clientPrb = prb_getters.getClientPrebattle()
         result = False
         if clientPrb is not None:
             settings = prb_getters.getPrebattleSettings(prebattle=clientPrb)
             rosters = prb_getters.getPrebattleRosters(prebattle=clientPrb)
             prbType = prb_getters.getPrebattleType(clientPrb, settings)
             result, _ = TeamNoPlayersInBattle(prbType).check(rosters, team, settings.getTeamLimits(team))
         return result
示例#10
0
 def __createByAccountState(self, ctx):
     clientPrb = prb_getters.getClientPrebattle()
     if clientPrb is not None:
         if prb_getters.isPrebattleSettingsReceived(prebattle=clientPrb):
             prbSettings = prb_getters.getPrebattleSettings(
                 prebattle=clientPrb)
             prbType = prb_getters.getPrebattleType(settings=prbSettings)
             clazz = None
             clazz = collectLegacyEntity(prbType)
             if clazz:
                 return clazz(prbSettings)
         else:
             return LegacyInitEntity()
     return self.__createByPrbType(ctx)
示例#11
0
 def create(self, ctx, callback=None):
     if prb_cooldown.validatePrbCreationCooldown():
         if callback is not None:
             callback(False)
     elif prb_getters.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',
             prb_getters.getPrebattleType())
         if callback is not None:
             callback(False)
     return
示例#12
0
 def create(self, ctx, callback=None):
     if not isinstance(ctx, EpicTrainingSettingsCtx):
         LOG_ERROR('Invalid context to create training', ctx)
         if callback is not None:
             callback(False)
     elif not self.canCreate():
         if callback is not None:
             callback(False)
     elif prb_getters.getClientPrebattle() is None or ctx.isForced():
         ctx.startProcessing(callback=callback)
         BigWorld.player().prb_createEpicTrainingBattle(
             ctx.getArenaTypeID(), ctx.getRoundLen(), ctx.isOpened(),
             ctx.getComment())
         cooldown.setPrbCreationCooldown()
     else:
         LOG_ERROR(
             'First, player has to confirm exit from the current prebattle',
             prb_getters.getPrebattleType())
         if callback is not None:
             callback(False)
     return
示例#13
0
 def __createByAccountState(self, ctx):
     """
     Tries to create entity by current account state.
     Args:
         ctx: creation request context.
     
     Returns:
         new prebattle legacy entity
     """
     clientPrb = prb_getters.getClientPrebattle()
     if clientPrb is not None:
         if prb_getters.isPrebattleSettingsReceived(prebattle=clientPrb):
             prbSettings = prb_getters.getPrebattleSettings(prebattle=clientPrb)
             prbType = prb_getters.getPrebattleType(settings=prbSettings)
             clazz = None
             if prbType in _SUPPORTED_ENTITY:
                 clazz = _SUPPORTED_ENTITY[prbType]
             if clazz:
                 return clazz(prbSettings)
         else:
             return LegacyInitEntity()
     return self.__createByPrbType(ctx)
示例#14
0
 def _createByAccountState(self, ctx):
     created = None
     clientPrb = prb_getters.getClientPrebattle()
     if clientPrb is not None:
         if prb_getters.isPrebattleSettingsReceived(prebattle=clientPrb):
             prbSettings = prb_getters.getPrebattleSettings(prebattle=clientPrb)
             prbType = prb_getters.getPrebattleType(settings=prbSettings)
             clazz = None
             if prbType in _SUPPORTED_FUNCTIONAL:
                 clazz = _SUPPORTED_FUNCTIONAL[prbType]
             ctx.removeFlags(FUNCTIONAL_FLAG.PREBATTLE_BITMASK)
             ctx.addFlags(FUNCTIONAL_FLAG.PREBATTLE)
             if clazz:
                 created = clazz(prbSettings)
             else:
                 LOG_ERROR('Prebattle with given type is not supported', prbType)
                 created = not_supported.NotSupportedFunctional()
         elif not ctx.hasFlags(FUNCTIONAL_FLAG.PREBATTLE_INIT):
             ctx.removeFlags(FUNCTIONAL_FLAG.PREBATTLE_BITMASK)
             ctx.addFlags(FUNCTIONAL_FLAG.PREBATTLE_INIT)
             created = default.PrbInitFunctional()
     else:
         created = self._createByPrbType(ctx)
     return created
示例#15
0
 def __init__(self, isReadyState, waitingID = ''):
     super(SetPlayerStateCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID)
     self.__isReadyState = isReadyState
示例#16
0
 def __init__(self, **kwargs):
     super(SwapTeamsCtx, self).__init__(entityType=prb_getters.getPrebattleType(), **kwargs)
示例#17
0
 def __init__(self, pID, roster, waitingID = ''):
     super(AssignPrbCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID)
     self.__pID = pID
     self.__roster = roster
示例#18
0
 def __init__(self, team, isReadyState, waitingID = '', isForced = True, gamePlayMask = 0):
     super(SetTeamStateCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID, isForced=isForced)
     self.__team = team
     self.__isReadyState = isReadyState
     self.__gamePlayMask = gamePlayMask
示例#19
0
 def __init__(self, pID, waitingID = ''):
     super(KickPlayerCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID)
     self.__pID = pID
示例#20
0
 def __init__(self, lane, waitingID=''):
     super(GroupSwapBetweenTeamLegacyCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID)
     self.__lane = lane
示例#21
0
 def join(self, ctx, callback = None):
     if prb_getters.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_getters.getPrebattleType())
         if callback:
             callback(False)
     return
示例#22
0
 def __init__(self, comment, waitingID = ''):
     super(ChangeCommentCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID)
     self.__comment = truncate_utf8(comment, PREBATTLE_COMMENT_MAX_LENGTH)
示例#23
0
 def __init__(self, division, waitingID=''):
     super(ChangeDivisionCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID)
     self.__division = int(division)
示例#24
0
 def __init__(self, pID, waitingID=''):
     super(KickPlayerCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID)
     self.__pID = pID
示例#25
0
 def __init__(self, comment, waitingID=''):
     super(ChangeCommentCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID)
     self.__comment = truncate_utf8(comment, PREBATTLE_COMMENT_MAX_LENGTH)
示例#26
0
文件: ctx.py 项目: kusaku/wot_scripts
 def __init__(self, channels, waitingID = ''):
     super(ChangeArenaVoipCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID)
     self.__channels = channels
示例#27
0
 def __init__(self, **kwargs):
     super(SwapTeamsCtx, self).__init__(entityType=prb_getters.getPrebattleType(), **kwargs)
示例#28
0
 def __init__(self, channels, waitingID = ''):
     super(ChangeArenaVoipCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID)
     self.__channels = int(channels)
示例#29
0
 def __init__(self, waitingID = '', flags = _FUNCTIONAL_FLAG.UNDEFINED):
     super(LeavePrbCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID, flags=flags)
示例#30
0
 def __init__(self, isOpened, waitingID = ''):
     super(ChangeOpenedCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID)
     self.__isOpened = isOpened
示例#31
0
 def create(self, ctx, callback = None):
     if not isinstance(ctx, prb_ctx.TrainingSettingsCtx):
         LOG_ERROR('Invalid context to create training', ctx)
         if callback is not None:
             callback(False)
     elif prb_cooldown.validatePrbCreationCooldown():
         if callback is not None:
             callback(False)
     elif prb_getters.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', prb_getters.getPrebattleType())
         if callback is not None:
             callback(False)
     return
示例#32
0
 def __init__(self, division, waitingID = ''):
     super(ChangeDivisionCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID)
     self.__division = int(division)
示例#33
0
 def __init__(self, waitingID = '', flags = _FUNCTIONAL_FLAG.UNDEFINED):
     super(LeavePrbCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID, flags=flags)
示例#34
0
 def __init__(self, isOpened, waitingID=''):
     super(ChangeOpenedCtx, self).__init__(entityType=prb_getters.getPrebattleType(), waitingID=waitingID)
     self.__isOpened = isOpened
示例#35
0
 def create(self, ctx, callback = None):
     if prb_cooldown.validatePrbCreationCooldown():
         if callback is not None:
             callback(False)
     elif prb_getters.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', prb_getters.getPrebattleType())
         if callback is not None:
             callback(False)
     return