def _readMovementSettings(self, configDataSec):
     movementMappings = dict()
     movementMappings[getattr(
         Keys, configDataSec.readString('keyMoveLeft',
                                        'KEY_A'))] = Math.Vector3(-1, 0, 0)
     movementMappings[getattr(
         Keys, configDataSec.readString('keyMoveRight',
                                        'KEY_D'))] = Math.Vector3(1, 0, 0)
     movementMappings[getattr(
         Keys, configDataSec.readString('keyMoveForward',
                                        'KEY_W'))] = Math.Vector3(0, 0, 1)
     movementMappings[getattr(
         Keys, configDataSec.readString('keyMoveBackward',
                                        'KEY_S'))] = Math.Vector3(0, 0, -1)
     linearSensitivity = configDataSec.readFloat('linearVelocity', 40.0)
     self._movementSensor = KeySensor(movementMappings, linearSensitivity)
     self._verticalMovementSensor = KeySensor({}, linearSensitivity)
     self._movementSensor.currentVelocity = Math.Vector3()
Example #2
0
 def __readCfg(self, dataSec):
     if dataSec is None:
         LOG_WARNING(
             'Invalid section <arcadeMode/camera> in avatar_input_handler.xml'
         )
     self.__baseCfg = dict()
     bcfg = self.__baseCfg
     bcfg['keySensitivity'] = readFloat(dataSec, 'keySensitivity', 0, 10,
                                        0.01)
     bcfg['sensitivity'] = readFloat(dataSec, 'sensitivity', 0, 10, 0.01)
     bcfg['scrollSensitivity'] = readFloat(dataSec, 'scrollSensitivity', 0,
                                           10, 0.01)
     bcfg['angleRange'] = readVec2(dataSec, 'angleRange', (0, 0),
                                   (180, 180), (10, 110))
     bcfg['distRange'] = readVec2(dataSec, 'distRange', (1, 1), (100, 100),
                                  (2, 20))
     bcfg['angleRange'][0] = math.radians(
         bcfg['angleRange'][0]) - math.pi * 0.5
     bcfg['angleRange'][1] = math.radians(
         bcfg['angleRange'][1]) - math.pi * 0.5
     ds = Settings.g_instance.userPrefs[Settings.KEY_CONTROL_MODE]
     if ds is not None:
         ds = ds['arcadeMode/camera']
     self.__userCfg = dict()
     ucfg = self.__userCfg
     from account_helpers.SettingsCore import g_settingsCore
     ucfg['horzInvert'] = g_settingsCore.getSetting('mouseHorzInvert')
     ucfg['vertInvert'] = g_settingsCore.getSetting('mouseVertInvert')
     ucfg['keySensitivity'] = readFloat(ds, 'keySensitivity', 0.0, 10.0,
                                        1.0)
     ucfg['sensitivity'] = readFloat(ds, 'sensitivity', 0.0, 10.0, 1.0)
     ucfg['scrollSensitivity'] = readFloat(ds, 'scrollSensitivity', 0.0,
                                           10.0, 1.0)
     ucfg['startDist'] = readFloat(ds, 'startDist', 2, 500, 10)
     ucfg['startAngle'] = readFloat(ds, 'startAngle', 5, 180, 60)
     ucfg['startAngle'] = math.radians(ucfg['startAngle']) - math.pi * 0.5
     self.__cfg = dict()
     cfg = self.__cfg
     cfg['keySensitivity'] = bcfg['keySensitivity']
     cfg['sensitivity'] = bcfg['sensitivity']
     cfg['scrollSensitivity'] = bcfg['scrollSensitivity']
     cfg['angleRange'] = bcfg['angleRange']
     cfg['distRange'] = bcfg['distRange']
     cfg['horzInvert'] = ucfg['horzInvert']
     cfg['vertInvert'] = ucfg['vertInvert']
     cfg['keySensitivity'] *= ucfg['keySensitivity']
     cfg['sensitivity'] *= ucfg['sensitivity']
     cfg['scrollSensitivity'] *= ucfg['scrollSensitivity']
     cfg['startDist'] = ucfg['startDist']
     cfg['startAngle'] = ucfg['startAngle']
     enableShift = dataSec.readBool('shift', False)
     if enableShift:
         movementMappings = dict()
         movementMappings[Keys.KEY_A] = Math.Vector3(-1, 0, 0)
         movementMappings[Keys.KEY_D] = Math.Vector3(1, 0, 0)
         movementMappings[Keys.KEY_Q] = Math.Vector3(0, 1, 0)
         movementMappings[Keys.KEY_E] = Math.Vector3(0, -1, 0)
         movementMappings[Keys.KEY_W] = Math.Vector3(0, 0, 1)
         movementMappings[Keys.KEY_S] = Math.Vector3(0, 0, -1)
         shiftSensitivity = dataSec.readFloat('shiftSensitivity', 0.5)
         self.__shiftKeySensor = KeySensor(movementMappings,
                                           shiftSensitivity)
         self.__shiftKeySensor.reset(Math.Vector3())
     return
 def _readRotationSettings(self, configDataSec, rotationMappings):
     rotationSensitivity = configDataSec.readFloat('angularVelocity', 0.7)
     self._rotationSensor = KeySensor(rotationMappings, rotationSensitivity)
     self._rotationSensor.currentVelocity = Math.Vector3()