def onVehicleSelected(self, vehTypeCompDescr): self.__selectedVehicleCD = int(vehTypeCompDescr) selectedVehicle = self.__items.getItemByCD(self.__selectedVehicleCD) data = [] mainRoles = [] for slotIdx, tman in selectedVehicle.crew: mainRole = selectedVehicle.descriptor.type.crewRoles[slotIdx][0] if mainRole not in mainRoles: mainRoles.append(mainRole) criteria = REQ_CRITERIA.TANKMAN.NATIVE_TANKS( [self.__selectedVehicleCD]) | REQ_CRITERIA.TANKMAN.ROLES( [mainRole]) | REQ_CRITERIA.TANKMAN.ACTIVE roleTankmen = self.__items.getTankmen(criteria).values() sameTankmen = len(roleTankmen) roleSlotIsTaken = _isRoleSlotTaken(roleTankmen, selectedVehicle, mainRole) roleStr = Tankman.getRoleUserName(mainRole) isAvailable = self.__tankman.descriptor.role != mainRole data.append({ 'id': mainRole, 'name': roleStr, 'icon': Tankman.getRoleMediumIconPath(mainRole), 'available': isAvailable, 'warningHeader': _getTooltipHeader(sameTankmen, isAvailable), 'warningBody': _getTooltipBody(sameTankmen, isAvailable, roleSlotIsTaken, roleStr, selectedVehicle) }) self.as_setRolesS(data)
def packTankman(tankman, isCountPermanentSkills=True): def vehicleIcon(vDescr, subtype=""): return _ICONS_MASK % {"type": "vehicle", "subtype": subtype, "unicName": vDescr.name.replace(":", "-")} nativeVehicleData = { "typeCompDescr": tankman.vehicleNativeDescr.type.compactDescr, "userName": Vehicle.getShortUserName(tankman.vehicleNativeDescr.type), "icon": vehicleIcon(tankman.vehicleNativeDescr), "iconContour": vehicleIcon(tankman.vehicleNativeDescr, "contour/"), } currentVehicleData = None if tankman.isInTank: currentVehicleData = { "inventoryID": tankman.vehicleInvID, "typeCompDescr": tankman.vehicleDescr.type.compactDescr, "userName": Vehicle.getShortUserName(tankman.vehicleDescr.type), "icon": vehicleIcon(tankman.vehicleDescr), "iconContour": vehicleIcon(tankman.vehicleDescr, "contour/"), } skills = [] tManFreeSkillsNum = tankman.descriptor.freeSkillsNumber startSkillNumber = 0 if isCountPermanentSkills else tManFreeSkillsNum tManSkills = tankman.skills for i in range(startSkillNumber, len(tManSkills)): skills.append(packTankmanSkill(tManSkills[i], isPermanent=True if i < tManFreeSkillsNum else False)) return { "strCD": cPickle.dumps(tankman.strCD), "inventoryID": tankman.invID, "nationID": tankman.nationID, "firstUserName": tankman.firstUserName, "lastUserName": tankman.lastUserName, "roleName": tankman.descriptor.role, "rankUserName": tankman.rankUserName, "roleUserName": tankman.roleUserName, "skills": skills, "efficiencyRoleLevel": tankman.efficiencyRoleLevel, "realRoleLevel": tankman.realRoleLevel, "roleLevel": tankman.roleLevel, "icon": { "big": Tankman.getBigIconPath(tankman.nationID, tankman.descriptor.iconID), "small": Tankman.getSmallIconPath(tankman.nationID, tankman.descriptor.iconID), "barracks": Tankman.getBarracksIconPath(tankman.nationID, tankman.descriptor.iconID), }, "iconRole": { "big": Tankman.getRoleBigIconPath(tankman.descriptor.role), "medium": Tankman.getRoleMediumIconPath(tankman.descriptor.role), "small": Tankman.getRoleSmallIconPath(tankman.descriptor.role), }, "iconRank": { "big": Tankman.getRankBigIconPath(tankman.nationID, tankman.descriptor.rankID), "small": Tankman.getRankSmallIconPath(tankman.nationID, tankman.descriptor.rankID), }, "isInTank": tankman.isInTank, "newSkillsCount": tankman.newSkillCount, "nativeVehicle": nativeVehicleData, "currentVehicle": currentVehicleData, }
def packTankman(tankman, isCountPermanentSkills = True): def vehicleIcon(vDescr, subtype = ''): return _ICONS_MASK % {'type': 'vehicle', 'subtype': subtype, 'unicName': vDescr.name.replace(':', '-')} nativeVehicleData = {'typeCompDescr': tankman.vehicleNativeDescr.type.compactDescr, 'userName': Vehicle.getShortUserName(tankman.vehicleNativeDescr.type), 'icon': vehicleIcon(tankman.vehicleNativeDescr), 'iconContour': vehicleIcon(tankman.vehicleNativeDescr, 'contour/')} currentVehicleData = None if tankman.isInTank: currentVehicleData = {'inventoryID': tankman.vehicleInvID, 'typeCompDescr': tankman.vehicleDescr.type.compactDescr, 'userName': Vehicle.getShortUserName(tankman.vehicleDescr.type), 'icon': vehicleIcon(tankman.vehicleDescr), 'iconContour': vehicleIcon(tankman.vehicleDescr, 'contour/')} skills = [] tManFreeSkillsNum = tankman.descriptor.freeSkillsNumber startSkillNumber = 0 if isCountPermanentSkills else tManFreeSkillsNum tManSkills = tankman.skills for i in range(startSkillNumber, len(tManSkills)): skills.append(packTankmanSkill(tManSkills[i], isPermanent=True if i < tManFreeSkillsNum else False)) return {'strCD': cPickle.dumps(tankman.strCD), 'inventoryID': tankman.invID, 'nationID': tankman.nationID, 'firstUserName': tankman.firstUserName, 'lastUserName': tankman.lastUserName, 'roleName': tankman.descriptor.role, 'rankUserName': tankman.rankUserName, 'roleUserName': tankman.roleUserName, 'skills': skills, 'efficiencyRoleLevel': tankman.efficiencyRoleLevel, 'realRoleLevel': tankman.realRoleLevel, 'roleLevel': tankman.roleLevel, 'icon': {'big': Tankman.getBigIconPath(tankman.nationID, tankman.descriptor.iconID), 'small': Tankman.getSmallIconPath(tankman.nationID, tankman.descriptor.iconID), 'barracks': Tankman.getBarracksIconPath(tankman.nationID, tankman.descriptor.iconID)}, 'iconRole': {'big': Tankman.getRoleBigIconPath(tankman.descriptor.role), 'medium': Tankman.getRoleMediumIconPath(tankman.descriptor.role), 'small': Tankman.getRoleSmallIconPath(tankman.descriptor.role)}, 'iconRank': {'big': Tankman.getRankBigIconPath(tankman.nationID, tankman.descriptor.rankID), 'small': Tankman.getRankSmallIconPath(tankman.nationID, tankman.descriptor.rankID)}, 'isInTank': tankman.isInTank, 'newSkillsCount': tankman.newSkillCount, 'nativeVehicle': nativeVehicleData, 'currentVehicle': currentVehicleData}
def packTankman(tankman, isCountPermanentSkills = True): def vehicleIcon(vDescr, subtype = ''): return _ICONS_MASK % {'type': 'vehicle', 'subtype': subtype, 'unicName': vDescr.name.replace(':', '-')} nativeVehicleData = {'typeCompDescr': tankman.vehicleNativeDescr.type.compactDescr, 'userName': tankman.vehicleNativeDescr.type.shortUserString, 'icon': vehicleIcon(tankman.vehicleNativeDescr), 'iconContour': vehicleIcon(tankman.vehicleNativeDescr, 'contour/')} currentVehicleData = None if tankman.isInTank: currentVehicleData = {'inventoryID': tankman.vehicleInvID, 'typeCompDescr': tankman.vehicleDescr.type.compactDescr, 'userName': tankman.vehicleDescr.type.shortUserString, 'icon': vehicleIcon(tankman.vehicleDescr), 'iconContour': vehicleIcon(tankman.vehicleDescr, 'contour/')} skills = [] for skill in tankman.skills: if not (skill.name == 'brotherhood' and tankman.descriptor.isFemale and not isCountPermanentSkills): skills.append(packTankmanSkill(skill)) return {'strCD': cPickle.dumps(tankman.strCD), 'inventoryID': tankman.invID, 'nationID': tankman.nationID, 'firstUserName': tankman.firstUserName, 'lastUserName': tankman.lastUserName, 'roleName': tankman.descriptor.role, 'rankUserName': tankman.rankUserName, 'roleUserName': tankman.roleUserName, 'skills': skills, 'efficiencyRoleLevel': tankman.efficiencyRoleLevel, 'realRoleLevel': tankman.realRoleLevel, 'roleLevel': tankman.roleLevel, 'icon': {'big': Tankman.getBigIconPath(tankman.nationID, tankman.descriptor.iconID), 'small': Tankman.getSmallIconPath(tankman.nationID, tankman.descriptor.iconID), 'barracks': Tankman.getBarracksIconPath(tankman.nationID, tankman.descriptor.iconID)}, 'iconRole': {'big': Tankman.getRoleBigIconPath(tankman.descriptor.role), 'medium': Tankman.getRoleMediumIconPath(tankman.descriptor.role), 'small': Tankman.getRoleSmallIconPath(tankman.descriptor.role)}, 'iconRank': {'big': Tankman.getRankBigIconPath(tankman.nationID, tankman.descriptor.rankID), 'small': Tankman.getRankSmallIconPath(tankman.nationID, tankman.descriptor.rankID)}, 'isInTank': tankman.isInTank, 'newSkillsCount': tankman.newSkillCount, 'nativeVehicle': nativeVehicleData, 'currentVehicle': currentVehicleData}
def onVehicleSelected(self, vehTypeCompDescr): self.__selectedVehicleCD = int(vehTypeCompDescr) selectedVehicle = self.__items.getItemByCD(self.__selectedVehicleCD) data = [] for role in selectedVehicle.descriptor.type.crewRoles: mainRole = role[0] criteria = REQ_CRITERIA.TANKMAN.NATIVE_TANKS([self.__selectedVehicleCD]) | REQ_CRITERIA.TANKMAN.ROLES([mainRole]) roleTankmen = self.__items.getTankmen(criteria).values() sameTankmen = len(roleTankmen) roleSlotIsTaken = _isRoleSlotTaken(roleTankmen, selectedVehicle, mainRole) roleStr = Tankman.getRoleUserName(mainRole) isAvailable = self.__tankman.descriptor.role != mainRole data.append({'id': mainRole, 'name': roleStr, 'icon': Tankman.getRoleMediumIconPath(mainRole), 'available': isAvailable, 'warningHeader': _getTooltipHeader(sameTankmen, isAvailable), 'warningBody': _getTooltipBody(sameTankmen, isAvailable, roleSlotIsTaken, roleStr, selectedVehicle)}) self.as_setRolesS(data)
def packTankman(tankman, isCountPermanentSkills=True): def vehicleIcon(vDescr, subtype=''): return _ICONS_MASK % { 'type': 'vehicle', 'subtype': subtype, 'unicName': vDescr.name.replace(':', '-') } nativeVehicleData = { 'typeCompDescr': tankman.vehicleNativeDescr.type.compactDescr, 'userName': Vehicle.getShortUserName(tankman.vehicleNativeDescr.type), 'icon': vehicleIcon(tankman.vehicleNativeDescr), 'iconContour': vehicleIcon(tankman.vehicleNativeDescr, 'contour/') } currentVehicleData = None if tankman.isInTank: currentVehicleData = { 'inventoryID': tankman.vehicleInvID, 'typeCompDescr': tankman.vehicleDescr.type.compactDescr, 'userName': Vehicle.getShortUserName(tankman.vehicleDescr.type), 'icon': vehicleIcon(tankman.vehicleDescr), 'iconContour': vehicleIcon(tankman.vehicleDescr, 'contour/') } skills = [] tManFreeSkillsNum = tankman.descriptor.freeSkillsNumber startSkillNumber = 0 if isCountPermanentSkills else tManFreeSkillsNum tManSkills = tankman.skills for i in range(startSkillNumber, len(tManSkills)): skills.append( packTankmanSkill( tManSkills[i], isPermanent=True if i < tManFreeSkillsNum else False)) return { 'strCD': cPickle.dumps(tankman.strCD), 'inventoryID': tankman.invID, 'nationID': tankman.nationID, 'firstUserName': tankman.firstUserName, 'lastUserName': tankman.lastUserName, 'roleName': tankman.descriptor.role, 'rankUserName': tankman.rankUserName, 'roleUserName': tankman.roleUserName, 'skills': skills, 'efficiencyRoleLevel': tankman.efficiencyRoleLevel, 'realRoleLevel': tankman.realRoleLevel, 'roleLevel': tankman.roleLevel, 'icon': { 'big': Tankman.getBigIconPath(tankman.nationID, tankman.descriptor.iconID), 'small': Tankman.getSmallIconPath(tankman.nationID, tankman.descriptor.iconID), 'barracks': Tankman.getBarracksIconPath(tankman.nationID, tankman.descriptor.iconID) }, 'iconRole': { 'big': Tankman.getRoleBigIconPath(tankman.descriptor.role), 'medium': Tankman.getRoleMediumIconPath(tankman.descriptor.role), 'small': Tankman.getRoleSmallIconPath(tankman.descriptor.role) }, 'iconRank': { 'big': Tankman.getRankBigIconPath(tankman.nationID, tankman.descriptor.rankID), 'small': Tankman.getRankSmallIconPath(tankman.nationID, tankman.descriptor.rankID) }, 'isInTank': tankman.isInTank, 'newSkillsCount': tankman.newSkillCount, 'nativeVehicle': nativeVehicleData, 'currentVehicle': currentVehicleData }