Ejemplo n.º 1
0
    public void gotMessage(object sender, WebSocketSharp.MessageEventArgs msg)
    {
        if (msg.Type == WebSocketSharp.Opcode.Binary)
        {
            lock (updateLock) {
                updateMsg.ClearVrmsg();
                updateMsg.MergeFrom(new Google.Protobuf.CodedInputStream(msg.RawData));
                Google.Protobuf.VRCom.Update.VrmsgOneofCase msgType = updateMsg.VrmsgCase;
                switch (msgType)
                {
                case Google.Protobuf.VRCom.Update.VrmsgOneofCase.Mocap:
                    mocapMsg = updateMsg;
                    break;

                case Google.Protobuf.VRCom.Update.VrmsgOneofCase.Hydra:
                    hydraMsg = updateMsg;
                    break;

                case Google.Protobuf.VRCom.Update.VrmsgOneofCase.Wiimote:
                    wiimoteMsgs.Enqueue(updateMsg.Clone());
                    break;

                default:
                    Debug.Log("Received an unknown or empty message");
                    break;
                }
            }
        }
        else
        {
            //jmsg = JsonUtility.FromJson (msg.Data);
            Debug.Log(msg.Data);
        }
    }
Ejemplo n.º 2
0
    public static void On(Google.Protobuf.VRCom.Update.VrmsgOneofCase type, VRMsgHandler handler)
    {
        switch (type)
        {
        case Google.Protobuf.VRCom.Update.VrmsgOneofCase.Mocap:
            OnMocapMsg += handler;
            break;

        case Google.Protobuf.VRCom.Update.VrmsgOneofCase.Hydra:
            OnHydraMsg += handler;
            break;

        case Google.Protobuf.VRCom.Update.VrmsgOneofCase.Wiimote:
            OnWiimoteMsg += handler;
            break;

        default:
            break;
        }
    }