示例#1
0
    def __init__(self, data=None):
        self.states = {}
        if IS_AIRPLANE_EDITOR:
            self.__data = data
        if data != None:
            params = (('id', 0), ('componentType', ''),
                      ('componentTypeQuota', 1.0), ('componentXml', ''),
                      ('repairDestructedAfter', -1.0), ('health', '20.0'),
                      ('fireMountPoint', ''), ('componentPosition', 'Front'))
            if IS_AIRPLANE_EDITOR:
                self.__params = params
            readValues(self, data, params)
            if data.has_key('gunPartName'):
                readValue(self, data, 'gunPartName', '')
            if self.health.find('%') == -1:
                self.healthValue = float(self.health)
                self.healthPrc = 0.0
            else:
                self.healthPrc = float(self.health[:-1]) / 100.0
                self.healthValue = 0.0
            self.componentXml = self.componentXml.lower()
            self.bboxes = BBoxes(findSection(data, 'bBoxes'))
            statesSection = findSection(data, 'states')
            if statesSection:
                for stateData in statesSection.values():
                    state = PartTypeStateSettings(stateData)
                    self.states[int(state.id)] = state

            fireSection = findSection(data, 'fire')
            if fireSection:
                self.fire = FireStateSettings(fireSection)
            if not hasattr(self, 'fire'):
                self.fire = None
        return
 def __init__(self, typeID, fileName, data):
     DBBaseClass.__init__(self, typeID, fileName)
     readValue(self, data, 'planeScheme', '')
     self.__parts = {}
     self._readPartsData(data)
     self.__groups = {}
     self._readGroupsData(data)
示例#3
0
    def readData(self, data):
        if data != None:
            readValue(self, data, 'scenario', '')
            excludeEvents = findSection(data, 'excludeEvents')
            if excludeEvents:
                for event in excludeEvents.values():
                    self.excludeEvents.append(event.asString)

        return
示例#4
0
 def readData(self, data):
     if data != None:
         readValue(self, data, 'detailTexture', '')
         decalSettingsData = findSection(data, 'decalsSettings')
         if self.decalsSettings:
             self.decalsSettings.readData(decalSettingsData)
         else:
             self.decalsSettings = DecalsSettings(decalSettingsData)
     return
示例#5
0
 def readData(self, data = None):
     if data != None:
         readValue(self, data, 'position', Math.Vector3(0, 0, 0))
         readValue(self, data, 'direction', Math.Vector3(0, 0, 0))
     else:
         self.position = Math.Vector3(0, 0, 0)
         self.direction = Math.Vector3(0, 0, 0)
     self.position *= AIRCRAFT_MODEL_SCALING
     return
示例#6
0
    def readData(self, data = None):
        if data != None:
            readValue(self, data, 'name', 'unknown')
            self.decals = {}
            decalsSection = findSection(data, 'decals')
            if decalsSection:
                for decalData in decalsSection.values():
                    decal = DecalSettings(decalData)
                    self.decals[decal.id] = decal

        return
示例#7
0
 def __init__(self, data=None):
     if data is not None:
         readValue(self, data, 'duration', 0.0)
         distanceCurvePoints = self.readPoints(
             findSection(data, 'distanceCurve'))
         self.distanceCurvePoints = distanceCurvePoints['points']
         self.minDeltaPosition = distanceCurvePoints['minValue']
         self.maxDeltaPosition = distanceCurvePoints['maxValue']
         heightCurvePoints = self.readPoints(
             findSection(data, 'heightCurve'))
         self.heightCurvePoints = heightCurvePoints['points']
         self.minHeight = heightCurvePoints['minValue']
         self.maxHeight = heightCurvePoints['maxValue']
     return
示例#8
0
 def __init__(self, data=None):
     self.customSettings = {}
     if IS_AIRPLANE_EDITOR:
         self.__data = data
     if data != None:
         params = (('model', ''), ('mountPoint', ''), ('animatorName', ''))
         if IS_AIRPLANE_EDITOR:
             self.__params = params
         readValue(self, data, 'name', '')
         readValues(self, data, params)
         settings = CustomSettingsFactory.readSettings(data)
         if settings:
             self.customSettings[settings.name()] = settings
     return
示例#9
0
 def readData(self, data = None):
     if data != None:
         readValue(self, data, 'id', -1)
         readValue(self, data, 'texture', '')
         readValue(self, data, 'icoPath', '')
         if data.has_key('bottomColor'):
             setattr(self, 'bottomColor', data.readVector4('bottomColor', Math.Vector4(0, 0, 0, 0)))
         if data.has_key('reflectionColor'):
             setattr(self, 'reflectionColor', data.readVector4('reflectionColor', Math.Vector4(0, 0, 0, 0)))
         if data.has_key('glossinessOffset'):
             readValue(self, data, 'glossinessOffset', 0.0)
         if data.has_key('camouflageMask'):
             readValue(self, data, 'camouflageMask', '')
         if data.has_key('camouflageNeutral'):
             setattr(self, 'camouflageNeutral', data.readVector4('camouflageNeutral', Math.Vector4(0, 0, 0, 0)))
         if data.has_key('camouflageAllied'):
             setattr(self, 'camouflageAllied', data.readVector4('camouflageAllied', Math.Vector4(0, 0, 0, 0)))
         if data.has_key('camouflageHostile'):
             setattr(self, 'camouflageHostile', data.readVector4('camouflageHostile', Math.Vector4(0, 0, 0, 0)))
     return
示例#10
0
 def __init__(self, data = None):
     if data != None:
         readValue(self, data, 'direction', Math.Vector3(0, 0, 0))
         readValue(self, data, 'angle', 360)
         readValue(self, data, 'range', 330)
         self.direction.normalise()
     return
示例#11
0
    def readData(self, data):
        if data != None:
            readValue(self, data, 'aileronMaxAngle', 45.0)
            readValue(self, data, 'elevatorMaxAngle', 45.0)
            readValue(self, data, 'rudderMaxAngle', 45.0)
            readValue(self, data, 'flapperMaxAngle', 45.0)
            readValue(self, data, 'brakeMaxAngle', 45.0)
            readValue(self, data, 'slateOffset', 0.0)
            readValue(self, data, 'slateOnAngle', 10.0)
            readValue(self, data, 'brakeOffset', 0.0)
            readValue(self, data, 'aileronSpeed', 45.0)
            readValue(self, data, 'elevatorSpeed', 45.0)
            readValue(self, data, 'rudderSpeed', 45.0)
            readValue(self, data, 'flapperSpeed', 45.0)
            readValue(self, data, 'brakeSpeed', 45.0)
            readValue(self, data, 'slateSpeed', 0.4)
            readValue(self, data, 'brakeOffsetSpeed', 45.0)
            readValue(self, data, 'rotorSpeedBroken', 1)
            readValue(self, data, 'rotorSpeedFalling', 2)
            readValue(self, data, 'rotorSpeedLow', 5)
            readValue(self, data, 'rotorSpeedNormal', 10)
            readValue(self, data, 'rotorSpeedFosage', 20)
            readValue(self, data, 'hangarConfig', NOT_AVAILABLE)
            readValue(self, data, 'hangarLandingPart', NOT_AVAILABLE)
            readValue(self, data, 'camera', '')
            readValue(self, data, 'cameraOffset', Math.Vector3(0, 0, 0))
            readValue(self, data, 'hudPlaneScheme', '')
            readValue(self, data, 'speedwiseEngineEffect', 0.0)
            surfaceSettings = findSection(data, 'surfaceSettings')
            if surfaceSettings:
                if self.surfaceSettings:
                    self.surfaceSettings.readData(surfaceSettings)
                else:
                    self.surfaceSettings = SurfaceSettings(surfaceSettings)
            hangarScenario = findSection(data, 'hangarScenario')
            if hangarScenario:
                if self.hangarScenario:
                    self.hangarScenario.readData(surfaceSettings)
                else:
                    self.hangarScenario = HangarScenario(hangarScenario)
            damageEffects = findSection(data, 'damageEffects')
            if self.damageEffects:
                self.damageEffects.readData(damageEffects)
            else:
                self.damageEffects = DamageEffects(damageEffects)
            cameraEffectsData = findSection(data, 'cameraEffects')
            if self.cameraEffects:
                self.cameraEffects.readData(cameraEffectsData)
            else:
                self.cameraEffects = CameraEffects(cameraEffectsData)
            accelFovData = findSection(data, 'accelerationFov')
            if self.accelFovSettings:
                self.accelFovSettings.readData(accelFovData)
            else:
                self.accelFovSettings = AccelerationFovSettings(accelFovData)
            gunnerAnimatorSettingsSect = findSection(data, 'gunnerAnimatorSettings')
            if gunnerAnimatorSettingsSect is not None:
                for key, animatorSettingsSect in gunnerAnimatorSettingsSect.items():
                    id = animatorSettingsSect.readInt('partId', -1)
                    settings = self.gunnerAnimatorSettings.get(id)
                    if settings is not None:
                        settings.readData(animatorSettingsSect)
                    else:
                        settings = GunnerHeadAnimatorSettings(animatorSettingsSect)
                        self.gunnerAnimatorSettings[id] = settings

            if IS_EDITOR:
                self.__data = data
        return
示例#12
0
 def __init__(self, partData):
     readValue(self, partData, 'normalState', '')
     readValue(self, partData, 'damageState', '')
     readValue(self, partData, 'critState', '')
示例#13
0
 def readData(self, data = None):
     readValue(self, data, 'name', 'unknown')
     readValue(self, data, 'position', Math.Vector3(0, 0, 0))
     readValue(self, data, 'direction', Math.Vector3(0, 0, 0))
     self.position *= AIRCRAFT_MODEL_SCALING
示例#14
0
 def readData(self, data):
     if data:
         readValue(self, data, 'destroy', '')
         readValue(self, data, 'receive_damage_1', '')
         readValue(self, data, 'receive_damage_2', '')
         readValue(self, data, 'effectFire', '')
示例#15
0
    def readData(self, data):
        if data:
            readValue(self, data, 'name', '')
            readValue(self, data, 'turretName', '')
            readValue(self, data, 'maxHealth', 200.0)
            readValue(self, data, 'stealthFactor', 1.0)
            readValue(self, data, 'alignToGround', False)
            readValue(self, data, 'superiorityPoints', 0)
            for groupID in range(SUPERIORITY_POINTS_GROUPS_MAX):
                readValue(self, data, 'superiorityPointsGroup%d' % groupID, 0)

            readValue(self, data, 'mass', 100000.0)
            readValue(self, data, 'type', '')
            readValue(self, data, 'modelScaling', AIRCRAFT_MODEL_SCALING)
            self.type = TYPE_TEAM_OBJECT_STR_MAP.get(self.type,
                                                     TYPE_TEAM_OBJECT.INVALID)
            if self.type == TYPE_TEAM_OBJECT.INVALID:
                LOG_ERROR('invalid object type for', self.typeID,
                          self.typeName, self.name)
            visibilityData = findSection(data, 'visibility')
            self.visibility = visibilityData and VisibilityTunes(
                visibilityData) or None
            self.bboxes = BBoxes(findSection(data, 'bBoxes'),
                                 self.modelScaling)
            self.magnetPoints = ()
            self.partsSettings = PartsTunes(findSection(data, 'parts'))
            self.checkPartsTunes()
            battleLevelsSettingsSection = findSection(data,
                                                      'battleLevelsSettings')
            if battleLevelsSettingsSection:
                self.battleLevelsSettings = BattleLevelsSettings(
                    battleLevelsSettingsSection)
            elif not hasattr(self, 'battleLevelsSettings'):
                self.battleLevelsSettings = None
            damageEffectsSection = findSection(data, 'damageEffects')
            if damageEffectsSection:
                self.damageEffects = DamageEffects(damageEffectsSection)
            elif not hasattr(self, 'damageEffects'):
                self.damageEffects = None
            self.__calculateSuperiorityPoints()
        return
示例#16
0
 def readData(self, rootSection):
     for name, data in rootSection.items():
         hint = _HudHint()
         readValue(hint, data, 'id', 0)
         if hint.id:
             readValue(hint, data, 'type', -1)
             readValue(hint, data, 'title', '')
             readValue(hint, data, 'icon', '')
             readValue(hint, data, 'lifeTime', -1)
             readValue(hint, data, 'priority', -1)
             readValue(hint, data, 'description', '')
             readValue(hint, data, 'coolDown', 0)
             readValue(hint, data, 'timer', -1)
             readValue(hint, data, 'addValue', -1)
             self._readSubItemList(hint, data, 'gameModes', 'mod')
             self._hints[hint.id] = hint
             LOG_DEBUG('readData - added battle notification:', hint.id,
                       hint.__dict__)
         else:
             LOG_ERROR(
                 'readData - battle notification without ID. Check it!')
示例#17
0
 def readData(self, rootSection):
     for name, data in rootSection.items():
         hint = _HudHint()
         readValue(hint, data, 'id', 0)
         if hint.id:
             readValue(hint, data, 'type', -1)
             readValue(hint, data, 'title', '')
             readValue(hint, data, 'icon', '')
             readValue(hint, data, 'lifeTime', -1)
             readValue(hint, data, 'priority', -1)
             readValue(hint, data, 'description', '')
             readValue(hint, data, 'coolDown', 0)
             self._readSubItemList(hint, data, 'consumableDependency',
                                   'section')
             self._readSubItemList(hint, data, 'validPlanes', 'section')
             self._hints[hint.id] = hint
             LOG_DEBUG('readData - added battle alert:', hint.id,
                       hint.__dict__)
         else:
             LOG_ERROR('readData - battle alert without ID. Check it!')
示例#18
0
 def __init__(self, groupID, data):
     self.groupID = groupID
     readValue(self, data, 'initialSpawnDelay', -1.0)
     readValue(self, data, 'bomberIndex', -1)
     readValue(self, data, 'bomberDelay', 0.0)
     readValue(self, data, 'objectsAreaIndex', -1)
     readValue(self, data, 'allTeamSpawn', False)
     readValue(self, data, 'customSpawn', False)
     self.destroyToSpawn = set()
     initOnSection = findSection(data, 'initOnDestruction')
     if initOnSection:
         self.destroyToSpawn = set(
             (sectionData.asString
              for sectionData in initOnSection.values()))
示例#19
0
    def readData(self, data):
        if not data:
            return
        else:
            for propName in ['exclusiveGameMods', 'excludeArenaType']:
                propData = findSection(data, propName)
                if propData:
                    setattr(
                        self, propName,
                        set([
                            ARENA_TYPE.getValueByName(k)
                            for k in propData.keys()
                        ]))
                else:
                    setattr(self, propName, set())

            spawnGroupData = findSection(data, 'spawnGroup')
            if spawnGroupData:
                self.__spawnGroupDescription = DBSpawnGroup(spawnGroupData)
            readValue(self, data, 'gameType', 'SaD')
            gameModeEnum = GAME_MODE.NAME_TO_MODE.get(self.gameType,
                                                      GAME_MODE.AREA_CONQUEST)
            self._readGameModeSettings(data)
            sectorData = findSection(data, 'sectors')
            if sectorData:
                self.sectors.fillSectorData(
                    sectorData,
                    GAME_MODE_PATH_NAMES.MODE_TO_PATH[gameModeEnum])
                self.sectors.convertPoints(self.arenaObjects.getPointPosition)
            if IS_CLIENT:
                self._readHudSectorsSettings(data)
            readValue(self, data, 'camouflageArenaType', '')
            readValue(self, data, 'hudIcoPath', '')
            self.__parseBounds(self.geometry)
            self.__parseSpaceScripts(self.settings)
            readValue(self, data, 'minPlayersInTeam', 0)
            self.trainingRoomIcoPathSelected = data.readString(
                'trainingRoomIcoPath/selected', '')
            self.trainingRoomIcoPathUnselected = data.readString(
                'trainingRoomIcoPath/unselected', '')
            self.trainingRoomIcoPathPreview = data.readString(
                'trainingRoomIcoPath/preview', '')
            self.trainingRoomIcoPathPreviewBig = data.readString(
                'trainingRoomIcoPath/previewBig', '')
            readValue(self, data, 'trainingRoomDescription', '')
            if self.minPlayersInTeam < 0:
                self.__raiseWrongXml("wrong 'minPlayersInTeam' value")
            readValue(self, data, 'maxPlayersInTeam', 0)
            if self.maxPlayersInTeam < 0:
                self.__raiseWrongXml("wrong 'maxPlayersInTeam' value")
            if self.maxPlayersInTeam < self.minPlayersInTeam:
                self.__raiseWrongXml(
                    "'maxPlayersInTeam' value < 'minPlayersInTeam' value")
            readValue(self, data, 'roundLength', 0)
            if self.roundLength < 0:
                self.__raiseWrongXml("wrong 'roundLength' value")
            bottomLeft = data.readVector2('boundingBox/bottomLeft')
            upperRight = data.readVector2('boundingBox/upperRight')
            if bottomLeft[0] >= upperRight[0] or bottomLeft[1] >= upperRight[1]:
                LOG_UNEXPECTED("wrong 'boundingBox' values", self.typeName)
            self.boundingBox = (bottomLeft, upperRight)
            readValue(self, data, 'isPvEReady', True)
            readValue(self, data, 'visibleEnable', 1)
            readValue(self, data, 'minPlayerCount', 0)
            readValue(self, data, 'selectionPriority', 0)
            readValue(self, data, 'minAircraftLevel', 1)
            readValue(self, data, 'maxAircraftLevel', 10)
            readValue(self, data, 'sunAngle', 70.0)
            readValue(self, data, 'daytime', 8.31)
            readValue(self, data, 'sunStealthFactor', Curve())
            readValue(self, data, 'cloudStealthFactorDistance', 120.0)
            readValue(self, data, 'seaLevelForFlightMdel', 0.0)
            readValue(self, data, 'altitudeMap', 0.0)
            readValue(self, data, 'anyTeamObjectsCount', 5)
            readValue(self, data, 'randomObjectsCount', 5)
            visualScripts = findSection(data, 'visualScripts')
            if visualScripts:
                self.arenaScripts = visualScripts.readStrings('scripts')
            else:
                self.arenaScripts = ()
            if IS_CLIENT:
                readValue(self, data, 'name', '')
                readValue(self, data, 'secondName', ' @ NEED LOCALE ')
                readValue(self, data, 'trainingRoomName', '')
                readValue(self, data, 'trainingRoomSecondName', '')
                readValue(self, data, 'description', '')
                readValue(self, data, 'outroScenario', '')
                readValue(self, data, 'outroTimeline', '')
                readValue(self, data, 'music', '')
                readValue(self, data, 'musicPrefix', '')
                readValue(self, data, 'ambientSound', '')
                readValue(self, data, 'umbraEnabled', 0)
                readValue(self, data, 'batchingEnabled', 0)
                stingersSection = findSection(data, 'stingers')
                self.stingers = SoundsStingers(
                    stingersSection) if stingersSection else None
                self.waterTexScale = data.readFloat('water/texScale', 0.5)
                self.waterFreqX = data.readFloat('water/freqX', 1.0)
                self.waterFreqZ = data.readFloat('water/freqZ', 1.0)
            if IS_BASEAPP:
                readValue(self, data, 'kickAfterFinishWaitTime', 0)
                readValue(self, data, 'battleEntryPoint', '', True)
                if self.kickAfterFinishWaitTime < 0:
                    self.__raiseWrongXml(
                        "wrong 'kickAfterFinishWaitTime' value")
                readValue(self, data, 'arenaStartDelay', 0)
                if self.arenaStartDelay <= 0:
                    self.__raiseWrongXml("wrong 'arenaStartDelay' value")
                groups = findSection(data, 'objectGroups')
                if groups:
                    for groupID, groupData in groups.items():
                        self.objectGroups.addGroup(groupID, groupData)

                selectGroups = findSection(data, 'selectGroups')
                if selectGroups:
                    self.objectGroups.readSpawnSequence(selectGroups)
            if IS_CLIENT:
                weatherPath = self.settings + '/weatherSettings/'
                weatherData = ResMgr.openSection(weatherPath)
                if weatherData:
                    self.weatherWindSpeed = weatherData.readVector2(
                        'windSpeed')
                    self.weatherWindGustiness = weatherData.readFloat(
                        'windGustiness', 0.0)
                    ResMgr.purge(weatherPath)
                else:
                    self.weatherWindSpeed = (0.0, 0.0)
                    self.weatherWindGustiness = 0.0
                groups = findSection(data, 'objectGroups')
                if groups:
                    for groupID, groupData in groups.items():
                        self.offlineObjectGroups.addGroup(groupID, groupData)

                selectGroups = findSection(data, 'selectGroups')
                if selectGroups:
                    self.offlineObjectGroups.readSpawnSequence(selectGroups)
            return
示例#20
0
 def __init__(self, data=None, baseFov=60.0):
     if data is not None:
         readValue(self, data, 'position', Math.Vector3(0, 0, 0))
         readValue(self, data, 'minScrollPosition',
                   Math.Vector3(0, 0, -12.0))
         readValue(self, data, 'maxScrollPosition',
                   Math.Vector3(0, 0, -34.0))
         readValue(self, data, 'fovPercent', 60.0)
         readValue(self, data, 'angle', 0.0)
         readValue(self, data, 'hideModel', 0)
         self.position *= WORLD_SCALING
         if self.fovPercent > 5.0:
             self.fovPercent /= baseFov
     return
示例#21
0
 def __init__(self, data=None):
     if data is not None:
         readValue(self, data, 'stateInterpolationTime', 0.0)
         readValue(self, data, 'fov', 0.0)
         readValue(self, data, 'pitch', 0.0)
         readValue(self, data, 'pitchMin', 0.0)
         readValue(self, data, 'yaw', 0.0)
         readValue(self, data, 'rotationSpeed', 0.0)
         readValue(self, data, 'distance', 0.0)
         self.__postLoadTransform()
     return
示例#22
0
 def __init__(self, data=None):
     if data is not None:
         readValue(self, data, 'stateInterpolationTime', 0.0)
         readValue(self, data, 'animationNeedTime', 0.0)
         readValue(self, data, 'animationStartTime', 0.0)
         readValue(self, data, 'animationPitch', 0.0)
         readValue(self, data, 'animationYaw', 0.0)
         readValue(self, data, 'animationPitchClockwise', True)
         readValue(self, data, 'animationYawClockwise', True)
         readValue(self, data, 'animationDistance', 0.0)
         readValue(self, data, 'animationTime', 0.0)
         readValue(self, data, 'animationFov', 90.0)
         readValue(self, data, 'animationFadeInTime', 0.0)
         readValue(self, data, 'animationFadeOutTime', 0.0)
         readValue(self, data, 'animationGroundNeedTime', 0.0)
         readValue(self, data, 'animationGroundTime', 0.0)
         readValue(self, data, 'animationGroundFov', 0.0)
         readValue(self, data, 'animationGroundSpawnRadius', 0.0)
         readValue(self, data, 'animationGroundHeight', 0.0)
         self.__postLoadTransform()
     return
示例#23
0
    def readData(self, data):
        if data != None:
            readValue(self, data, 'minMouseCombatFov', 70.0)
            readValue(self, data, 'targetCamPos', Math.Vector3(0, 0, -34.0))
            readValue(self, data, 'camSpeedYawPitch', 6.0)
            readValue(self, data, 'camSpeedRoll', 6.0)
            readValue(self, data, 'targetCamSpeed', 30.0)
            readValue(self, data, 'camSniperSpeedYawPitch', 6.0)
            readValue(self, data, 'camSniperSpeedRoll', 6.0)
            readValue(self, data, 'camSniperSpeedTarget', 30.0)
            readValue(self, data, 'defaultFov', 60.0)
            readValue(self, data, 'fovRampCurvature', 0.7)
            readValue(self, data, 'backCamPos', Math.Vector3(0, 3, -4.2))
            readValue(self, data, 'backCamSpeed', 30.0)
            readValue(self, data, 'backTargetCamSpeed', 30.0)
            readValue(self, data, 'backCamFov', 90.0)
            readValue(self, data, 'rearViewCamPos',
                      Math.Vector3(0, 4.8, -22.6))
            readValue(self, data, 'rearViewCamDir', Math.Vector3(0, 22, -350))
            readValue(self, data, 'rearViewCamFov', 60.0)
            readValue(self, data, 'leftCamPos', Math.Vector3(0, 0, 0))
            readValue(self, data, 'leftCamDir', Math.Vector3(0, 0, 0))
            readValue(self, data, 'rightCamPos', Math.Vector3(0, 0, 0))
            readValue(self, data, 'rightCamDir', Math.Vector3(0, 0, 0))
            readValue(self, data, 'topCamPos', Math.Vector3(0, 0, 0))
            readValue(self, data, 'topCamDir', Math.Vector3(0, 0, 0))
            readValue(self, data, 'bottomCamPos', Math.Vector3(0, 0, 0))
            readValue(self, data, 'bottomCamDir', Math.Vector3(0, 0, 0))
            readValue(self, data, 'pivotDistMax', 150.0)
            readValue(self, data, 'pivotDistMin', 5.4)
            readValue(self, data, 'freeCamDistHalflife', 0.0)
            readValue(self, data, 'freeCamFovNear', 65.0)
            readValue(self, data, 'freeCamFovFar', 65.0)
            readValue(self, data, 'normalCamInterpolationTime', 0.0)
            readValue(self, data, 'freeCamInterpolationTime', 0.0)
            readValue(self, data, 'freeCamFovInterpolationTime', 0.0)
            readValue(self, data, 'freeCamZoomFactor', 0.0)
            readValue(self, data, 'backCamInterpolationTime', 0.0)
            readValue(self, data, 'bombCamInterpolationTime', 0.0)
            readValue(self, data, 'sniperStateInterpolationTime', 0.01)
            readValue(self, data, 'sideCamInterpolationTime', 0.0)
            readValue(self, data, 'sideCamJInterpolationStartTime', 0.0)
            readValue(self, data, 'sideCamJInterpolationEndTime', 0.0)
            readValue(self, data, 'sideCamJInterpolationTimeTransitionTerm',
                      0.0)
            readValue(self, data, 'spectatorCamInterpolationTime', 0.0)
            readValue(self, data, 'targetCamInterpolationTime', 0.0)
            readValue(self, data, 'freeFixableCamInterpolationTime', 0.0)
            readValue(self, data, 'freeFixableCamSpeed', 0.0)
            readValue(self, data, 'vibrationAmplitudes', Math.Vector3(0, 0, 0))
            zoomTable = findSection(data, 'zoomTable')
            if zoomTable is not None:
                self.zoomPresets = dict()
                for zoomPreset in zoomTable.values():
                    stateID = zoomPreset.readString('id', 'None')
                    self.zoomPresets[stateID] = ZoomPreset(
                        normal=ZoomData(
                            findSection(zoomPreset, 'normalZoomData'),
                            self.defaultFov),
                        sniper=ZoomData(
                            findSection(zoomPreset, 'sniperZoomData'),
                            self.defaultFov))

            gunnerStateSettingsData = findSection(data, 'gunnerStateData')
            if gunnerStateSettingsData is not None:
                self.gunnerStateSettings = GunnerStateSettings(
                    gunnerStateSettingsData)
            vibrationTable = findSection(data, 'vibrationTable')
            if vibrationTable is not None:
                self.vibrationFrequencies = vibrationTable.readVector3s(
                    'frequency')
            destroyedFallStateData = findSection(data, 'destroyedFall')
            if destroyedFallStateData is not None:
                self.destroyedFall = DestroyedFallStateSettings(
                    destroyedFallStateData)
            destroyedLandedStateData = findSection(data, 'destroyedLanded')
            if destroyedLandedStateData is not None:
                self.destroyedLanded = DestroyedLandedStateSettings(
                    destroyedLandedStateData)
            self.__postLoadTransform()
        return
示例#24
0
 def readData(self, data):
     if data != None:
         readValue(self, data, 'textDescription', '')
         readValue(self, data, 'engineCapasityUnit', '')
         readValue(self, data, 'MARKET_AIRPLANE_ENGINE_CAPACITY', '')
         readValue(self, data, 'MARKET_AIRPLANE_WING_AREA', '')
         readValue(self, data, 'MARKET_AIRPLANE_GROUND_MAX_SPEED', '')
         readValue(self, data, 'MARKET_AIRPLANE_HEIGHT_MAX_SPEED', '')
         readValue(self, data, 'MARKET_AIRPLANE_RATE_OF_CLIMB', '')
         readValue(self, data, 'MARKET_AIRPLANE_FULL_TURN_TIME', '')
         readValue(self, data, 'MARKET_AIRPLANE_TURN_RADIUS', '')
         readValue(self, data, 'MARKET_AIRPLANE_WEIGHT_SECOND_VOLLEY', '')
     return