public override void handleMessage(QTMessage message) { switch (message.messageType) { case QTMessage.type.INPUT: InputMessage inputMessage = (InputMessage)message; if (inputMessage.active) { onClientKeyDown(inputMessage.keyCode); } else { onClientKeyUp(inputMessage.keyCode); } break; case QTMessage.type.INPUT_AXIS: InputAxisMessage inputAxisMessage = (InputAxisMessage)message; updateAxisState(inputAxisMessage.axis, inputAxisMessage.value); break; case QTMessage.type.VR_ACTION: VRActionMessage actionMessage = (VRActionMessage)message; updateVRAction(actionMessage.actionName, QTUtils.getValueFromVRActionMessage(actionMessage)); break; case QTMessage.type.SYNC_VR_POSITION: SyncVRPositionMessage positionMessage = (SyncVRPositionMessage)message; updateVRPosition(positionMessage.source, new Vector3(positionMessage.posX, positionMessage.posY, positionMessage.posZ)); break; case QTMessage.type.SYNC_VR_ROTATION: SyncVRRotationMessage rotationMessage = (SyncVRRotationMessage)message; updateVRRotation(rotationMessage.source, new Vector3(rotationMessage.rotX, rotationMessage.rotY, rotationMessage.rotZ)); break; } }
public static object getValueFromVRActionMessage(VRActionMessage message) { switch (message.syncedValueType) { case VRActionMessage.syncType.VECTOR1: { VRActionVector1Message syncMessageDetailed = (VRActionVector1Message)message; return(syncMessageDetailed.value); } case VRActionMessage.syncType.VECTOR2: { VRActionVector2Message syncMessageDetailed = (VRActionVector2Message)message; return(new Vector2(syncMessageDetailed.value_0, syncMessageDetailed.value_1)); } case VRActionMessage.syncType.BOOL: { VRActionBoolMessage syncMessageDetailed = (VRActionBoolMessage)message; return(syncMessageDetailed.value); } default: { return(null); } } }