def __init__(self, roles=0, state=UNIT_STATE.DEFAULT, isCurrentPlayer=False, isPlayerReady=False): super(UnitPermissions, self).__init__() self._roles = roles self._state = UnitState(state) self._isCurrentPlayer = isCurrentPlayer self._isPlayerReady = isPlayerReady
def __init__(self, cfdUnitID, unitMgrID=0, cmdrRating=0, peripheryID=0, unit=None, **kwargs): super(UnitsListItem, self).__init__() creatorFullName = '' vehiclesNames = tuple() playersCount = 0 commandSize = 0 state = 0 isRosterSet = False if unit: creatorDBID, creator = next( itertools.ifilter( lambda (dbID, p): p['role'] & UNIT_ROLE.COMMANDER_UPDATES > 0, unit._players.iteritems()), (None, None)) if creator is not None: creatorFullName = g_lobbyContext.getPlayerFullName( creator['nickName'], clanAbbrev=creator.get('clanAbbrev'), pDBID=creatorDBID) freeSlots = unit.getFreeSlots() playersSlots = unit.getPlayerSlots() state = unit.getState() vehicles = g_itemsCache.items.getVehicles(REQ_CRITERIA.INVENTORY) matches = unit.getRoster().matchVehicleListToSlotList( vehicles.keys(), freeSlots) vehiclesNames = tuple( itertools.imap(lambda x: vehicles[x].shortUserName, set(matches.keys()))) playersCount = len(playersSlots) commandSize = len(playersSlots) + len(freeSlots) isRosterSet = unit.isRosterSet(ignored=CREATOR_ROSTER_SLOT_INDEXES) self.cfdUnitID = cfdUnitID self.unitMgrID = unitMgrID self.creator = creatorFullName self.rating = cmdrRating self.peripheryID = peripheryID self.playersCount = playersCount self.commandSize = commandSize self.vehicles = vehiclesNames self.state = UnitState(state) self.isRosterSet = isRosterSet return