Пример #1
0
 def __init__(self,
              roles=0,
              pState=PREBATTLE_ACCOUNT_STATE.UNKNOWN,
              teamState=None):
     super(DefaultPrbPermissions, self).__init__()
     self._roles = roles
     self._pState = pState
     if teamState is None:
         self._teamState = TeamStateInfo(PREBATTLE_TEAM_STATE.NOT_READY)
     else:
         self._teamState = teamState
     return
Пример #2
0
 def __init__(self, roles = 0, pState = PREBATTLE_ACCOUNT_STATE.UNKNOWN, teamState = None):
     super(DefaultPrbPermissions, self).__init__()
     self._roles = roles
     self._pState = pState
     if teamState is None:
         self._teamState = TeamStateInfo(PREBATTLE_TEAM_STATE.NOT_READY)
     else:
         self._teamState = teamState
     return
Пример #3
0
class DefaultPrbPermissions(IPrbPermissions):
    def __init__(self,
                 roles=0,
                 pState=PREBATTLE_ACCOUNT_STATE.UNKNOWN,
                 teamState=None):
        super(DefaultPrbPermissions, self).__init__()
        self._roles = roles
        self._pState = pState
        if teamState is None:
            self._teamState = TeamStateInfo(PREBATTLE_TEAM_STATE.NOT_READY)
        else:
            self._teamState = teamState
        return

    def __repr__(self):
        return '{0:>s}(roles = {1:n}, pState = {2:n}, teamState = {2!r:s})'.format(
            self.__class__.__name__, self._roles, self._pState,
            self._teamState)

    def canSendInvite(self):
        return self._roles & PREBATTLE_ROLE.INVITE != 0 and self._teamState.isNotReady(
        )

    def canKick(self, team=1):
        result = False
        if team is 1:
            result = self._roles & PREBATTLE_ROLE.KICK_1 != 0
        elif team is 2:
            result = self._roles & PREBATTLE_ROLE.KICK_2 != 0
        return result

    def canAssignToTeam(self, team=1):
        if self._teamState.isInQueue():
            return False
        result = False
        if team is 1:
            result = self._roles & PREBATTLE_ROLE.ASSIGNMENT_1 != 0
        elif team is 2:
            result = self._roles & PREBATTLE_ROLE.ASSIGNMENT_2 != 0
        return result

    def canChangePlayerTeam(self):
        return self._roles & PREBATTLE_ROLE.ASSIGNMENT_1_2 != 0

    def canSetTeamState(self, team=1):
        result = False
        if team is 1:
            result = self._roles & PREBATTLE_ROLE.TEAM_READY_1 != 0
        elif team is 2:
            result = self._roles & PREBATTLE_ROLE.TEAM_READY_2 != 0
        return result

    def canMakeOpenedClosed(self):
        return self._roles & PREBATTLE_ROLE.OPEN_CLOSE != 0

    def canChangeComment(self):
        return self._roles & PREBATTLE_ROLE.CHANGE_COMMENT != 0

    def canChangeArena(self):
        return self._roles & PREBATTLE_ROLE.CHANGE_ARENA != 0

    def canChangeArenaVOIP(self):
        return self._roles & PREBATTLE_ROLE.CHANGE_ARENA_VOIP != 0

    def canChangeGamePlayMask(self):
        return self._roles & PREBATTLE_ROLE.CHANGE_GAMEPLAYSMASK != 0

    def canChangeVehicle(self):
        return self._pState & PREBATTLE_ACCOUNT_STATE.READY == 0 and (
            not self._teamState.state or self._teamState.isNotReady())

    @classmethod
    def isCreator(cls, roles):
        return False
Пример #4
0
class DefaultPrbPermissions(IPrbPermissions):

    def __init__(self, roles = 0, pState = PREBATTLE_ACCOUNT_STATE.UNKNOWN, teamState = None):
        super(DefaultPrbPermissions, self).__init__()
        self._roles = roles
        self._pState = pState
        if teamState is None:
            self._teamState = TeamStateInfo(PREBATTLE_TEAM_STATE.NOT_READY)
        else:
            self._teamState = teamState
        return

    def __repr__(self):
        return '{0:>s}(roles = {1:n}, pState = {2:n}, teamState = {2!r:s})'.format(self.__class__.__name__, self._roles, self._pState, self._teamState)

    def canSendInvite(self):
        return self._roles & PREBATTLE_ROLE.INVITE != 0 and self._teamState.isNotReady()

    def canKick(self, team = 1):
        result = False
        if team is 1:
            result = self._roles & PREBATTLE_ROLE.KICK_1 != 0
        elif team is 2:
            result = self._roles & PREBATTLE_ROLE.KICK_2 != 0
        return result

    def canAssignToTeam(self, team = 1):
        if self._teamState.isInQueue():
            return False
        result = False
        if team is 1:
            result = self._roles & PREBATTLE_ROLE.ASSIGNMENT_1 != 0
        elif team is 2:
            result = self._roles & PREBATTLE_ROLE.ASSIGNMENT_2 != 0
        return result

    def canChangePlayerTeam(self):
        return self._roles & PREBATTLE_ROLE.ASSIGNMENT_1_2 != 0

    def canSetTeamState(self, team = 1):
        result = False
        if team is 1:
            result = self._roles & PREBATTLE_ROLE.TEAM_READY_1 != 0
        elif team is 2:
            result = self._roles & PREBATTLE_ROLE.TEAM_READY_2 != 0
        return result

    def canMakeOpenedClosed(self):
        return self._roles & PREBATTLE_ROLE.OPEN_CLOSE != 0

    def canChangeComment(self):
        return self._roles & PREBATTLE_ROLE.CHANGE_COMMENT != 0

    def canChangeArena(self):
        return self._roles & PREBATTLE_ROLE.CHANGE_ARENA != 0

    def canChangeArenaVOIP(self):
        return self._roles & PREBATTLE_ROLE.CHANGE_ARENA_VOIP != 0

    def canChangeGamePlayMask(self):
        return self._roles & PREBATTLE_ROLE.CHANGE_GAMEPLAYSMASK != 0

    def canChangeVehicle(self):
        return self._pState & PREBATTLE_ACCOUNT_STATE.READY == 0 and (not self._teamState.state or self._teamState.isNotReady())

    @classmethod
    def isCreator(cls, roles):
        return False