コード例 #1
0
    public void PlaySound(string soundName)
    {
        // Find sound
        Sound s = Array.Find(sounds, sound => sound.soundName == soundName);

        if (s == null)
        {
            Debug.LogWarning("Sound '" + soundName + "' not found!");
            return;
        }

        if (currentIndex + 1 <= maxIndex)
        {
            currentIndex += 1;
        }
        else
        {
            currentIndex = 0;
        }

        // Play sound
        // Create message
        var message = new OSCMessage("/playSound");

        // Populate values.
        message.AddValue(OSCValue.Float((float)currentIndex));
        message.AddValue(OSCValue.String("useless"));
        message.AddValue(OSCValue.String(s.absolutePath)); // filename
        message.AddValue(OSCValue.Float(s.volume));        // volume
        message.AddValue(OSCValue.Float(s.pitch));         // pitch
        // Send message
        _transmitter.Send(message);
    }
コード例 #2
0
 protected override void FillMessage(OSCMessage message, Quaternion value)
 {
     message.AddValue(OSCValue.Float(value.x));
     message.AddValue(OSCValue.Float(value.y));
     message.AddValue(OSCValue.Float(value.z));
     message.AddValue(OSCValue.Float(value.w));
 }
コード例 #3
0
 protected override void FillMessage(OSCMessage message, Rect value)
 {
     message.AddValue(OSCValue.Float(value.x));
     message.AddValue(OSCValue.Float(value.y));
     message.AddValue(OSCValue.Float(value.width));
     message.AddValue(OSCValue.Float(value.height));
 }
コード例 #4
0
    public void FollowMode(int slider, int difference)
    {
        var message = new OSCMessage(MadeAxisName + "/followMode");

        message.AddValue(OSCValue.Int(slider));     // 1 or 2
        message.AddValue(OSCValue.Int(difference)); //0  off, anything else true;
        transmitter.Send(message);
    }
コード例 #5
0
    public void Joystick(int slider, int active)  // active is int not bool - had issues mixing tyes in messages
    {
        var message = new OSCMessage(MadeAxisName + "/joystick");

        message.AddValue(OSCValue.Int(slider));  // 1 or 2
        message.AddValue(OSCValue.Int(active));  //0  off, anything else true;
        transmitter.Send(message);
    }
コード例 #6
0
    public void Stepped(int slider, int distance)  // set distance to 0 to turn off
    {
        var message = new OSCMessage(MadeAxisName + "/stepped");

        message.AddValue(OSCValue.Int(slider));   // 1 or 2
        message.AddValue(OSCValue.Int(distance)); //1  - 100
        transmitter.Send(message);
    }
コード例 #7
0
    public void SnapTo(int slider, int value)
    {
        var message = new OSCMessage(MadeAxisName + "/snap");

        message.AddValue(OSCValue.Int(slider)); // 1 or 2
        message.AddValue(OSCValue.Int(value));  //0  - 255
        transmitter.Send(message);
    }
コード例 #8
0
    public void HapticPulse(int slider, int period, int value)
    {
        var message = new OSCMessage(MadeAxisName + "/haptic");

        message.AddValue(OSCValue.Int(slider)); // 1 or 2
        message.AddValue(OSCValue.Int(period)); // suggest 3-5 ms
        message.AddValue(OSCValue.Int(value));  //0 -255, but 100 up is better
        transmitter.Send(message);
    }
コード例 #9
0
    //Ready
    public void SendReplay()
    {
        OSCMessage message = new OSCMessage(_osc_replay);

        message.AddValue(OSCValue.String(localIP));
        message.AddValue(OSCValue.Bool(ready));

        _transmitter.Send(message);
    }
コード例 #10
0
    private void CollectedSound(int collectedItems)
    {
        var message = new OSCMessage("/collect");

        message.AddValue(OSCValue.Float(collectedItems));
        message.AddValue(OSCValue.Float(100));
        message.AddValue(OSCValue.Float(69 - collectedItems * 2));
        transmitter.Send(message);
    }
コード例 #11
0
    public void Hit(string mode)
    {
        var message = new OSCMessage("/hit");

        message.AddValue(OSCValue.String(mode));
        string caveMode = inCave ? "in" : "out";

        message.AddValue(OSCValue.String(caveMode));
        transmitter.Send(message);
    }
コード例 #12
0
ファイル: TableOpenSequence.cs プロジェクト: Klanly/Marrow
        void SendOSCofShowingPlate()
        {
            var message = new OSCMessage(showPlateOscAddress);

            message.AddValue(OSCValue.Int(showPlateNotes[Random.Range(0, 3)]));
            message.AddValue(OSCValue.Int(120));
            message.AddValue(OSCValue.Int(1));

            oSCTransmitter.Send(message);
        }
コード例 #13
0
ファイル: OSCSendUpdate.cs プロジェクト: mauriciosousa/laphud
    void Update()
    {
        if (sending)
        {
            Accelerometer = new Vector3(UnityEngine.Random.Range(-10.0f, 10.0f), UnityEngine.Random.Range(-10.0f, 10.0f), UnityEngine.Random.Range(-10.0f, 10.0f));
            Gyroscope     = new Vector3(UnityEngine.Random.Range(-10.0f, 10.0f), UnityEngine.Random.Range(-10.0f, 10.0f), UnityEngine.Random.Range(-10.0f, 10.0f));
            Magnetometer  = new Vector3(UnityEngine.Random.Range(-10.0f, 10.0f), UnityEngine.Random.Range(-10.0f, 10.0f), UnityEngine.Random.Range(-10.0f, 10.0f));


            for (int i = 0; i < 15; i++)
            {
                var message = new OSCMessage("/tuna" + i);

                message.AddValue(OSCValue.Float(Accelerometer.x));
                message.AddValue(OSCValue.Float(Accelerometer.y));
                message.AddValue(OSCValue.Float(Accelerometer.z));

                message.AddValue(OSCValue.Float(Gyroscope.x));
                message.AddValue(OSCValue.Float(Gyroscope.y));
                message.AddValue(OSCValue.Float(Gyroscope.z));

                message.AddValue(OSCValue.Float(Magnetometer.x));
                message.AddValue(OSCValue.Float(Magnetometer.y));
                message.AddValue(OSCValue.Float(Magnetometer.z));

                Transmitter.Send(message);
            }
        }
    }
コード例 #14
0
    //Ready
    public void SendMovement(float value)
    {
        Debug.Log("Sending Movement Message: " + value);
        _transmitter_control.RemoteHost = serverIP;
        OSCMessage message = new OSCMessage(_osc_control);

        message.AddValue(OSCValue.String(localIP));
        message.AddValue(OSCValue.Float(value));

        _transmitter_control.Send(message);
    }
コード例 #15
0
        public void SendWrongMessage()
        {
            var message = new OSCMessage(_address);

            message.AddValue(OSCValue.Int(137));
            message.AddValue(OSCValue.String("Wrong Message"));
            message.AddValue(OSCValue.Blob(new byte[] { 0x1, 0x3, 0x3, 0x7 }));
            message.AddValue(OSCValue.Bool(true));

            Transmitter.Send(message);
        }
コード例 #16
0
        public void SendCorrectMessage()
        {
            var message = new OSCMessage(_address);

            message.AddValue(OSCValue.String("Correct Message"));
            message.AddValue(OSCValue.Int(137));
            message.AddValue(OSCValue.Bool(true));
            message.AddValue(OSCValue.Bool(true));

            Transmitter.Send(message);
        }
コード例 #17
0
ファイル: OSCPingClient.cs プロジェクト: mauriciosousa/laphud
        protected override bool FillMessage(OSCMessage message)
        {
            if (receiver == null)
            {
                return(false);
            }

            message.AddValue(OSCValue.String(receiverAddress));
            message.AddValue(OSCValue.Int(receiver.LocalPort));

            return(true);
        }
コード例 #18
0
    // Update is called once per frame
    void Update()
    {
        float difference = predictedpos - transform.position.y;

        //get axis from either Input system or OSC
        if (difference > buffer)
        {
            axis = 1;
        }
        else if (difference < -buffer)
        {
            axis = -1;
        }
        else if (difference < buffer && difference > -buffer)
        {
            axis = 0;
        }


        float move = axis * Time.deltaTime * speed;

        if (transform.position.y < GameManager.bottomLeft.y + height / 2 && move < 0)
        {
            move = 0;
        }

        if (transform.position.y > GameManager.topRight.y - height / 2 && move > 0)
        {
            move = 0;
        }

        transform.Translate(move * Vector2.up);


        //Send OSC message
        var message = new OSCMessage(string.Format("/paddle/pos/y", input));

        // Populate values.
        message.AddValue(OSCValue.Float(transform.position.y));

        if (isRight)
        {
            paddleLeftPos = GameObject.Find("PaletteLeft").GetComponent <Transform>();
            if (paddleLeftPos != null)
            {
                message.AddValue(OSCValue.Float(paddleLeftPos.position.y));
            }
        }
        _transmitter.Send(message);


        calVelocity();
    }
コード例 #19
0
    // Update is called once per frame
    void Update()
    {
        if (transform.position != oldpos)
        {
            var message = new OSCMessage(Address);
            message.AddValue(OSCValue.Float(transform.position.x));
            message.AddValue(OSCValue.Float(transform.position.y));

            _transmitter.Send(message);
        }

        oldpos = transform.position;
    }
コード例 #20
0
ファイル: EventsExample.cs プロジェクト: mauriciosousa/laphud
        private void SendVector(string address, Vector3 vector)
        {
            var message = new OSCMessage(address);

            message.AddValue(OSCValue.Float(vector.x));
            message.AddValue(OSCValue.Float(vector.y));
            message.AddValue(OSCValue.Float(vector.z));

            if (Transmitter != null)
            {
                Transmitter.Send(message);
            }
        }
コード例 #21
0
    //Ready
    public void SendClient()
    {
        Debug.Log("Sending Client Message");

        OSCMessage message = new OSCMessage(_osc_network_data);

        message.AddValue(OSCValue.String(deviceName));
        message.AddValue(OSCValue.String(localIP));
        message.AddValue(OSCValue.Int(modelID));
        message.AddValue(OSCValue.Int(teamID));
        message.AddValue(OSCValue.Bool(ready));

        _transmitter.Send(message);
    }
コード例 #22
0
    public void GameOver(string mode)
    {
        var message = new OSCMessage("/gameover");

        message.AddValue(OSCValue.String(mode));
        transmitter.Send(message);
    }
コード例 #23
0
    public void levelComplete(string mode)
    {
        var message = new OSCMessage("/levelComplete");

        message.AddValue(OSCValue.String(mode));
        transmitter.Send(message);
    }
コード例 #24
0
        protected virtual void Update()
        {
            if (_transmitter == null)
            {
                return;
            }

            // Create message
            var message = new OSCMessage(_oscAddress);

            message.AddValue(OSCValue.String("Hello, world!"));
            message.AddValue(OSCValue.Float(Random.Range(0f, 1f)));

            // Send message
            _transmitter.Send(message);
        }
コード例 #25
0
        private static void DrawEditableMessage(OSCMessage message)
        {
            EditorGUILayout.LabelField(_addressContent, EditorStyles.boldLabel);

            EditorGUILayout.BeginVertical("box");
            message.Address = EditorGUILayout.TextField(message.Address, GUILayout.MaxHeight(EditorGUIUtility.singleLineHeight));
            EditorGUILayout.EndVertical();

            OSCValue removeValue = null;

            EditorGUILayout.LabelField(string.Format("Values ({0}):", message.GetTags()), EditorStyles.boldLabel);

            EditorGUILayout.BeginVertical();

            foreach (var value in message.Values)
            {
                DrawEditableValue(value, ref removeValue);
            }

            EditorGUILayout.EndVertical();

            var includeValue = CreateValueButton(message);

            if (removeValue != null)
            {
                message.Values.Remove(removeValue);
            }

            if (includeValue != null)
            {
                message.AddValue(includeValue);
            }
        }
コード例 #26
0
    public void Fall(string mode)
    {
        var message = new OSCMessage("/fall");

        message.AddValue(OSCValue.String(mode));
        transmitter.Send(message);
    }
コード例 #27
0
    public void ThrowKnife()
    {
        var message = new OSCMessage("/knife");

        message.AddValue(OSCValue.Int(1));
        transmitter.Send(message);
    }
コード例 #28
0
        private void DrawMessage(OSCMessage message)
        {
            var removeValue = (OSCValue)null;

            EditorGUILayout.LabelField(_addressContent, EditorStyles.boldLabel);
            using (new GUILayout.VerticalScope(OSCEditorStyles.Box))
            {
                message.Address = EditorGUILayout.TextField(message.Address, GUILayout.MaxHeight(EditorGUIUtility.singleLineHeight));
            }

            EditorGUILayout.LabelField($"Values ({OSCEditorUtils.GetValueTags(message)}):", EditorStyles.boldLabel);
            using (new GUILayout.VerticalScope())
            {
                foreach (var value in message.Values)
                {
                    DrawValue(value, ref removeValue);
                }
            }

            var includeValue = CreateValueButton(message);

            // ACTIONS
            if (removeValue != null)
            {
                message.Values.Remove(removeValue);
            }

            if (includeValue != null)
            {
                message.AddValue(includeValue);
            }
        }
コード例 #29
0
        protected virtual void Update()
        {
            if (_transmitter == null)
            {
                return;
            }

            // Create message
            var message = new OSCMessage(_oscAddress);

            message.AddValue(OSCValue.String("Impulse sent!"));
            message.AddValue(OSCValue.Impulse());

            // Send message
            _transmitter.Send(message);
        }
コード例 #30
0
    public void DrinkPotion()
    {
        var message = new OSCMessage("/potion");

        message.AddValue(OSCValue.Int(400));
        transmitter.Send(message);
    }