VrControllerProfile constructor
VrControllerProfile({
- int protocolVersion = vrControllerProtocolVersion,
- required String deviceId,
- required String deviceName,
- VrControllerHandedness handedness = VrControllerHandedness.unspecified,
- required double widthMeters,
- required double heightMeters,
- required List<
VrControlDescriptor> controls,
Implementation
factory VrControllerProfile({
int protocolVersion = vrControllerProtocolVersion,
required String deviceId,
required String deviceName,
VrControllerHandedness handedness = VrControllerHandedness.unspecified,
required double widthMeters,
required double heightMeters,
required List<VrControlDescriptor> controls,
}) {
if (protocolVersion <= 0) {
throw RangeError.value(
protocolVersion,
'protocolVersion',
'Must be > 0.',
);
}
_requireNonEmpty(deviceId, 'deviceId');
_requireNonEmpty(deviceName, 'deviceName');
_requirePositive(widthMeters, 'widthMeters');
_requirePositive(heightMeters, 'heightMeters');
final ids = <String>{};
for (final control in controls) {
if (!ids.add(control.id)) {
throw ArgumentError.value(
control.id,
'controls',
'Control ids must be unique.',
);
}
}
return VrControllerProfile._(
protocolVersion: protocolVersion,
deviceId: deviceId,
deviceName: deviceName,
handedness: handedness,
widthMeters: widthMeters,
heightMeters: heightMeters,
controls: List<VrControlDescriptor>.unmodifiable(controls),
);
}