def getVehicleParams(item, vehicle, callback): vd = item.descriptor if GUI_SETTINGS.technicalInfo: parameters = {'parameters': [('maxHealth', vd.maxHealth), ('weight', '%s/%s' % (BigWorld.wg_getNiceNumberFormat(vd.physics['weight'] / 1000), BigWorld.wg_getNiceNumberFormat(vd.miscAttrs['maxWeight'] / 1000))), ('enginePower', BigWorld.wg_getIntegralFormat(round(vd.physics['enginePower'] / 735.5))), ('speedLimits', BigWorld.wg_getNiceNumberFormat(round(vd.physics['speedLimits'][0] * 3.6, 2))), ('chassisRotationSpeed', BigWorld.wg_getNiceNumberFormat(round(180 / math.pi * vd.chassis['rotationSpeed'], 0))), ('hullArmor', '%d/%d/%d' % vd.hull['primaryArmor'])]} if item.hasTurrets: parameters['parameters'].append(('turretArmor', '%d/%d/%d' % vd.turret['primaryArmor'])) pPower = (BigWorld.wg_getIntegralFormat(round(vd.shot['piercingPower'][0] - vd.shot['piercingPower'][0] * vd.shot['shell']['piercingPowerRandomization'])), BigWorld.wg_getIntegralFormat(round(vd.shot['piercingPower'][0] + vd.shot['piercingPower'][0] * vd.shot['shell']['piercingPowerRandomization']))) damage = (BigWorld.wg_getIntegralFormat(round(vd.shot['shell']['damage'][0] - vd.shot['shell']['damage'][0] * vd.shot['shell']['damageRandomization'])), BigWorld.wg_getIntegralFormat(round(vd.shot['shell']['damage'][0] + vd.shot['shell']['damage'][0] * vd.shot['shell']['damageRandomization']))) parameters['parameters'].extend([('damage', '%s-%s' % damage), ('piercingPower', '%s-%s' % pPower), ('reloadTime', _getShotsPerMinute(vd.gun)), ('turretRotationSpeed' if item.hasTurrets else 'gunRotationSpeed', BigWorld.wg_getIntegralFormat(round(180.0 / math.pi * vd.turret['rotationSpeed']))), ('circularVisionRadius', BigWorld.wg_getIntegralFormat(vd.turret['circularVisionRadius'])), ('radioDistance', BigWorld.wg_getIntegralFormat(vd.radio['distance']))]) else: parameters = {'parameters': []} parameters['base'] = [] shortName = getTypeInfoByName('vehicleGun')['userString'] + ' ' + item.descriptor.gun['userString'] parameters['base'].append(shortName) if item.hasTurrets: shortName = getTypeInfoByName('vehicleTurret')['userString'] + ' ' + item.descriptor.turret['userString'] parameters['base'].append(shortName) shortName = getTypeInfoByName('vehicleEngine')['userString'] + ' ' + item.descriptor.engine['userString'] parameters['base'].append(shortName) shortName = getTypeInfoByName('vehicleChassis')['userString'] + ' ' + item.descriptor.chassis['userString'] parameters['base'].append(shortName) shortName = getTypeInfoByName('vehicleRadio')['userString'] + ' ' + item.descriptor.radio['userString'] parameters['base'].append(shortName) parameters['stats'] = [] callback(parameters)
def _populate(self): super(FittingSelectPopover, self)._populate() if self._slotType == 'optionalDevice': title = MENU.OPTIONALDEVICEFITS_TITLE rendererName = FITTING_TYPES.OPTIONAL_DEVICE_FITTING_ITEM_RENDERER rendererDataClass = FITTING_TYPES.OPTIONAL_DEVICE_RENDERER_DATA_CLASS_NAME width = FITTING_TYPES.LARGE_POPOVER_WIDTH else: title = _ms(MENU.MODULEFITS_TITLE, moduleName=getTypeInfoByName(self._slotType)['userString'], vehicleName=self.__vehicle.userName) rendererDataClass = FITTING_TYPES.MODULE_FITTING_RENDERER_DATA_CLASS_NAME if self._slotType in ('vehicleChassis', 'vehicleEngine'): rendererName = FITTING_TYPES.ENGINE_CHASSIS_FITTING_ITEM_RENDERER width = FITTING_TYPES.MEDUIM_POPOVER_WIDTH elif self._slotType == 'vehicleRadio': rendererName = FITTING_TYPES.RADIO_FITTING_ITEM_RENDERER width = FITTING_TYPES.SHORT_POPOVER_WIDTH else: rendererName = FITTING_TYPES.GUN_TURRET_FITTING_ITEM_RENDERER width = FITTING_TYPES.LARGE_POPOVER_WIDTH self.as_updateS({'title': text_styles.highTitle(title), 'rendererName': rendererName, 'rendererDataClass': rendererDataClass, 'selectedIndex': self.__logicProvider.getSelectedIdx(), 'availableDevices': self.__logicProvider.getDevices(), 'minAvailableHeight': FITTING_TYPES.HANGAR_POPOVER_MIN_AVAILABLE_HEIGHT, 'width': width})
def _populate(self): super(FittingSelectPopover, self)._populate() if self._slotType == 'optionalDevice': title = MENU.OPTIONALDEVICEFITS_TITLE rendererName = FITTING_TYPES.OPTIONAL_DEVICE_FITTING_ITEM_RENDERER rendererDataClass = FITTING_TYPES.OPTIONAL_DEVICE_RENDERER_DATA_CLASS_NAME width = FITTING_TYPES.LARGE_POPOVER_WIDTH else: title = _ms(MENU.MODULEFITS_TITLE, moduleName=getTypeInfoByName( self._slotType)['userString'], vehicleName=self.__vehicle.userName) rendererDataClass = FITTING_TYPES.MODULE_FITTING_RENDERER_DATA_CLASS_NAME if self._slotType in ('vehicleChassis', 'vehicleEngine'): rendererName = FITTING_TYPES.ENGINE_CHASSIS_FITTING_ITEM_RENDERER width = FITTING_TYPES.MEDUIM_POPOVER_WIDTH elif self._slotType == 'vehicleRadio': rendererName = FITTING_TYPES.RADIO_FITTING_ITEM_RENDERER width = FITTING_TYPES.SHORT_POPOVER_WIDTH else: rendererName = FITTING_TYPES.GUN_TURRET_FITTING_ITEM_RENDERER width = FITTING_TYPES.LARGE_POPOVER_WIDTH self.as_updateS({ 'title': text_styles.highTitle(title), 'rendererName': rendererName, 'rendererDataClass': rendererDataClass, 'selectedIndex': self.__logicProvider.getSelectedIdx(), 'availableDevices': self.__logicProvider.getDevices(), 'minAvailableHeight': FITTING_TYPES.HANGAR_POPOVER_MIN_AVAILABLE_HEIGHT, 'width': width })
def _getCommonData(self): if self._slotType == FITTING_TYPES.OPTIONAL_DEVICE: title = MENU.OPTIONALDEVICEFITS_TITLE rendererName = FITTING_TYPES.OPTIONAL_DEVICE_FITTING_ITEM_RENDERER rendererDataClass = FITTING_TYPES.OPTIONAL_DEVICE_RENDERER_DATA_CLASS_NAME width = FITTING_TYPES.LARGE_POPOVER_WIDTH elif self._slotType == FITTING_TYPES.BATTLE_ABILITY: title = MENU.BATTLEABILITY_TITLE rendererName = FITTING_TYPES.BATTLE_ABILITY_ITEM_RENDERER rendererDataClass = FITTING_TYPES.BATTLE_ABILITY_RENDERER_DATA_CLASS_NAME width = FITTING_TYPES.SHORT_POPOVER_WIDTH else: title = _ms(MENU.MODULEFITS_TITLE, moduleName=getTypeInfoByName(self._slotType)['userString'], vehicleName=self.__vehicle.userName if self.__vehicle is not None else '') rendererDataClass = FITTING_TYPES.MODULE_FITTING_RENDERER_DATA_CLASS_NAME if self._slotType in [FITTING_TYPES.VEHICLE_CHASSIS, FITTING_TYPES.VEHICLE_ENGINE]: rendererName = FITTING_TYPES.ENGINE_CHASSIS_FITTING_ITEM_RENDERER width = FITTING_TYPES.MEDUIM_POPOVER_WIDTH elif self._slotType == FITTING_TYPES.VEHICLE_RADIO: rendererName = FITTING_TYPES.RADIO_FITTING_ITEM_RENDERER width = FITTING_TYPES.SHORT_POPOVER_WIDTH elif self._slotType == FITTING_TYPES.BATTLE_ABILITY: title = MENU.BATTLEABILITY_TITLE rendererName = FITTING_TYPES.BATTLE_ABILITY_ITEM_RENDERER rendererDataClass = FITTING_TYPES.BATTLE_ABILITY_RENDERER_DATA_CLASS_NAME width = FITTING_TYPES.SHORT_POPOVER_WIDTH else: rendererName = FITTING_TYPES.GUN_TURRET_FITTING_ITEM_RENDERER width = FITTING_TYPES.LARGE_POPOVER_WIDTH return (rendererName, rendererDataClass, width, title)
def _populate(self): super(FittingSelectPopover, self)._populate() if self._slotType == "optionalDevice": title = MENU.OPTIONALDEVICEFITS_TITLE rendererName = FITTING_TYPES.OPTIONAL_DEVICE_FITTING_ITEM_RENDERER rendererDataClass = FITTING_TYPES.OPTIONAL_DEVICE_RENDERER_DATA_CLASS_NAME width = FITTING_TYPES.LARGE_POPOVER_WIDTH else: title = _ms( MENU.MODULEFITS_TITLE, moduleName=getTypeInfoByName(self._slotType)["userString"], vehicleName=self.__vehicle.userName, ) rendererDataClass = FITTING_TYPES.MODULE_FITTING_RENDERER_DATA_CLASS_NAME if self._slotType in ("vehicleChassis", "vehicleEngine"): rendererName = FITTING_TYPES.ENGINE_CHASSIS_FITTING_ITEM_RENDERER width = FITTING_TYPES.MEDUIM_POPOVER_WIDTH elif self._slotType == "vehicleRadio": rendererName = FITTING_TYPES.RADIO_FITTING_ITEM_RENDERER width = FITTING_TYPES.SHORT_POPOVER_WIDTH else: rendererName = FITTING_TYPES.GUN_TURRET_FITTING_ITEM_RENDERER width = FITTING_TYPES.LARGE_POPOVER_WIDTH self.as_updateS( { "title": text_styles.highTitle(title), "rendererName": rendererName, "rendererDataClass": rendererDataClass, "selectedIndex": self.__logicProvider.getSelectedIdx(), "availableDevices": self.__logicProvider.getDevices(), "width": width, } )
def longUserName(self): typeInfo = getTypeInfoByName('vehicle') tagsDump = [ typeInfo['tags'][tag]['userString'] for tag in self.tags if typeInfo['tags'][tag]['userString'] != '' ] return '%s %s' % (''.join(tagsDump), getUserName(self.descriptor.type))
def __init__(self): super(VehicleClassInfo, self).__init__() self.__info = defaultdict(lambda : {'userString': '', 'name': ''}) for tag in VEHICLE_CLASS_TAGS: info = getTypeInfoByName(_VEHICLE_TYPE_NAME)['tags'][tag] self.__info[frozenset((tag,))] = {'userString': info['userString'], 'name': info['name']}
def __init__(self): super(VehicleClassInfo, self).__init__() self.__info = defaultdict(lambda : {'userString': '', 'name': ''}) for tag in VEHICLE_CLASS_TAGS: info = getTypeInfoByName(_VEHICLE_TYPE_NAME)['tags'][tag] self.__info[frozenset((tag,))] = {'userString': info['userString'], 'name': info['name']}
def _getCommonData(self): title = _ms(MENU.MODULEFITS_TITLE, moduleName=getTypeInfoByName(self._slotType)['userString'], vehicleName=self.__vehicle.userName if self.__vehicle is not None else '') rendererDataClass = FITTING_TYPES.MODULE_FITTING_RENDERER_DATA_CLASS_NAME if self._slotType == FITTING_TYPES.VEHICLE_ENGINE: if self.__vehicle.descriptor.hasTurboshaftEngine: rendererName = FITTING_TYPES.ENGINE_FITTING_BIG_ITEM_RENDERER else: rendererName = FITTING_TYPES.ENGINE_FITTING_ITEM_RENDERER width = FITTING_TYPES.MEDUIM_POPOVER_WIDTH elif self._slotType == FITTING_TYPES.VEHICLE_CHASSIS: rendererName = FITTING_TYPES.CHASSIS_FITTING_ITEM_RENDERER width = FITTING_TYPES.LARGE_POPOVER_WIDTH elif self._slotType == FITTING_TYPES.VEHICLE_RADIO: rendererName = FITTING_TYPES.RADIO_FITTING_ITEM_RENDERER width = FITTING_TYPES.SHORT_POPOVER_WIDTH else: rendererName = FITTING_TYPES.GUN_TURRET_FITTING_ITEM_RENDERER width = FITTING_TYPES.LARGE_POPOVER_WIDTH return (rendererName, rendererDataClass, width, title)
def userType(self): """ Returns item's type represented as user-friendly string. """ return getTypeInfoByName(self.itemTypeName)['userString']
def userType(self): return getTypeInfoByName(self.itemTypeName)['userString']
def longUserName(self): typeInfo = getTypeInfoByName('vehicle') tagsDump = [ typeInfo['tags'][tag]['userString'] for tag in self.tags if typeInfo['tags'][tag]['userString'] != '' ] return '%s %s' % (''.join(tagsDump), getUserName(self.descriptor.type))
def userType(self): return getTypeInfoByName(self.itemTypeName)['userString']
def userType(self): """ Returns item's type represented as user-friendly string. """ return getTypeInfoByName(self.itemTypeName)['userString']
def readAllowedTags(xmlCtx, section, subsectionName, itemTypeName): allowedTagNames = getTypeInfoByName(itemTypeName)['tags'] return readTags(xmlCtx, section, allowedTagNames, subsectionName)
def __init__(self): super(VehicleClassInfo, self).__init__() self.__info = defaultdict(lambda: {"userString": "", "name": ""}) for tag in VEHICLE_CLASS_TAGS: info = getTypeInfoByName(_VEHICLE_TYPE_NAME)["tags"][tag] self.__info[frozenset((tag,))] = {"userString": info["userString"], "name": info["name"]}
def getVehicleParams(item, vehicle, callback): vd = item.descriptor if GUI_SETTINGS.technicalInfo: parameters = { 'parameters': [('maxHealth', vd.maxHealth), ('weight', '%s/%s' % (BigWorld.wg_getNiceNumberFormat(vd.physics['weight'] / 1000), BigWorld.wg_getNiceNumberFormat( vd.miscAttrs['maxWeight'] / 1000))), ('enginePower', BigWorld.wg_getIntegralFormat( round(vd.physics['enginePower'] / 735.5))), ('speedLimits', BigWorld.wg_getNiceNumberFormat( round(vd.physics['speedLimits'][0] * 3.6, 2))), ('chassisRotationSpeed', BigWorld.wg_getNiceNumberFormat( round(180 / math.pi * vd.chassis['rotationSpeed'], 0))), ('hullArmor', '%d/%d/%d' % vd.hull['primaryArmor'])] } if item.hasTurrets: parameters['parameters'].append( ('turretArmor', '%d/%d/%d' % vd.turret['primaryArmor'])) pPower = (BigWorld.wg_getIntegralFormat( round(vd.shot['piercingPower'][0] - vd.shot['piercingPower'][0] * vd.shot['shell']['piercingPowerRandomization'])), BigWorld.wg_getIntegralFormat( round(vd.shot['piercingPower'][0] + vd.shot['piercingPower'][0] * vd.shot['shell']['piercingPowerRandomization']))) damage = (BigWorld.wg_getIntegralFormat( round(vd.shot['shell']['damage'][0] - vd.shot['shell']['damage'][0] * vd.shot['shell']['damageRandomization'])), BigWorld.wg_getIntegralFormat( round(vd.shot['shell']['damage'][0] + vd.shot['shell']['damage'][0] * vd.shot['shell']['damageRandomization']))) parameters['parameters'].extend([ ('damage', '%s-%s' % damage), ('piercingPower', '%s-%s' % pPower), ('reloadTime', _getShotsPerMinute(vd.gun)), ('turretRotationSpeed' if item.hasTurrets else 'gunRotationSpeed', BigWorld.wg_getIntegralFormat( round(180.0 / math.pi * vd.turret['rotationSpeed']))), ('circularVisionRadius', BigWorld.wg_getIntegralFormat(vd.turret['circularVisionRadius'])), ('radioDistance', BigWorld.wg_getIntegralFormat(vd.radio['distance'])) ]) else: parameters = {'parameters': []} parameters['base'] = [] shortName = getTypeInfoByName( 'vehicleGun')['userString'] + ' ' + item.descriptor.gun['userString'] parameters['base'].append(shortName) if item.hasTurrets: shortName = getTypeInfoByName('vehicleTurret')[ 'userString'] + ' ' + item.descriptor.turret['userString'] parameters['base'].append(shortName) shortName = getTypeInfoByName('vehicleEngine')[ 'userString'] + ' ' + item.descriptor.engine['userString'] parameters['base'].append(shortName) shortName = getTypeInfoByName('vehicleChassis')[ 'userString'] + ' ' + item.descriptor.chassis['userString'] parameters['base'].append(shortName) shortName = getTypeInfoByName('vehicleRadio')[ 'userString'] + ' ' + item.descriptor.radio['userString'] parameters['base'].append(shortName) parameters['stats'] = [] callback(parameters)