public void changeRoomViaRoomConnection(string userInput)
    {
        Room newRoom = findRoomConnection(userInput);
        var  message = new OSCMessage(myOscAddress);

        if (newRoom == null)
        {
            return;
        }

        if (newRoom.isInitialized == false)
        {
            newRoom.initializeRuntimeVariables();
        }

        string raumFull   = newRoom.ToString();
        string raum_short = raumFull.Substring(0, raumFull.Length - 6);

        message.AddValue(OSCValue.String(raum_short));
        globalTransmitter.Send(message); // the global OSC Manager's transmitter sends message
        Debug.Log("from: " + currentRoom + "going to " + raum_short);

        currentRoom = newRoom;
        actionHandler.executeActions(currentRoom, currentRoom.roomEntryActions);
        printCurrentRoomEntryText();
    }
Beispiel #2
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);
    }
    public void levelComplete(string mode)
    {
        var message = new OSCMessage("/levelComplete");

        message.AddValue(OSCValue.String(mode));
        transmitter.Send(message);
    }
Beispiel #4
0
        protected override void Invoke(OSCMessage message)
        {
            Debug.Log(message);

            if (message.Values.Count < 3)
            {
                return;
            }

            if (message.Values[0].Type != OSCValueType.String ||
                message.Values[1].Type != OSCValueType.Int ||
                message.Values[2].Type != OSCValueType.Int)
            {
                return;
            }

            var index = 3;
            var count = message.Values.Count - index;

            var taskId       = message.Values[0].StringValue;
            var command      = (RECommand)(message.Values[1].IntValue);
            var instanceId   = message.Values[2].IntValue;
            var inputValues  = message.Values.GetRange(index, count);
            var outputValues = new List <OSCValue>();

            var invokeStatus = InvokeCommand(command, instanceId, inputValues, ref outputValues);

            if (invokeStatus != REInvokeStatus.Cancel)
            {
                outputValues.Insert(0, OSCValue.String(taskId));
                outputValues.Insert(1, OSCValue.Int((int)invokeStatus));

                Send(Address, outputValues);
            }
        }
    //Ready
    public void LeaveGame()
    {
        OSCMessage message = new OSCMessage(_osc_client_leave);

        message.AddValue(OSCValue.String(localIP));
        _transmitter.Send(message);
    }
Beispiel #6
0
        protected virtual void Start()
        {
            // Register receive callback.
            Receiver.Bind(_address, MessageReceived);

            // Create message
            var message = OSCMessage.Create(_address);

            // Create array
            var array = OSCValue.Array();

            array.AddValue(OSCValue.Int(1)); // You can use AddValue(OSCValue) method only with OSCValue what stored Array type.
            array.AddValue(OSCValue.Float(2.5f));
            array.AddValue(OSCValue.Color(Color.red));

            // You can store another array inside array.
            // Warning! OSCValue with "Array" type cannot store itself. It can do infinite loop.
            var secondArray = OSCValue.Array();

            secondArray.AddValue(OSCValue.String("This array..."));
            secondArray.AddValue(OSCValue.String("...inside another array!"));
            array.AddValue(secondArray);

            // Add array in message
            message.AddValue(array);

            // Send message
            Transmitter.Send(message);
        }
        protected override void Update()
        {
            var message = new OSCMessage("/editor/example");

            message.AddValue(OSCValue.String("Editor message!"));

            Send(message);
        }
Beispiel #8
0
    protected void OnTriggerEnter(Collider collider)
    {
        var message = new OSCMessage(transmitterAddress);

        message.AddValue(OSCValue.String("Hello, world!"));

        transmitter.Send(message);
    }
Beispiel #9
0
        protected virtual void Start()
        {
            var message = new OSCMessage(Address);

            message.AddValue(OSCValue.String("456"));

            Transmitter.Send(message);
        }
    //Ready
    public void SendReplay()
    {
        OSCMessage message = new OSCMessage(_osc_replay);

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

        _transmitter.Send(message);
    }
    //Ready
    public void SendJump()
    {
        Debug.Log("Sending Jump Message");
        _transmitter_control.RemoteHost = serverIP;
        OSCMessage message = new OSCMessage(_osc_jump);

        message.AddValue(OSCValue.String(localIP));
        _transmitter_control.Send(message);
    }
        public static OSCValue CreateOSCValue(OSCValueType valueType)
        {
            switch (valueType)
            {
            case OSCValueType.Unknown:
                return(null);

            case OSCValueType.Int:
                return(OSCValue.Int(0));

            case OSCValueType.Long:
                return(OSCValue.Long(0));

            case OSCValueType.True:
                return(OSCValue.Bool(true));

            case OSCValueType.False:
                return(OSCValue.Bool(false));

            case OSCValueType.Float:
                return(OSCValue.Float(0));

            case OSCValueType.Double:
                return(OSCValue.Double(0));

            case OSCValueType.String:
                return(OSCValue.String(""));

            case OSCValueType.Null:
                return(OSCValue.Null());

            case OSCValueType.Impulse:
                return(OSCValue.Impulse());

            case OSCValueType.Blob:
                return(OSCValue.Blob(new byte[0]));

            case OSCValueType.Char:
                return(OSCValue.Char(' '));

            case OSCValueType.Color:
                return(OSCValue.Color(Color.white));

            case OSCValueType.TimeTag:
                return(OSCValue.TimeTag(DateTime.Now));

            case OSCValueType.Midi:
                return(OSCValue.Midi(new OSCMidi(0, 0, 0, 0)));

            case OSCValueType.Array:
                return(OSCValue.Array());

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Beispiel #13
0
    public void SendClear()
    {
        OSCMessage message = new OSCMessage(clearFilter);

        message.AddValue(OSCValue.String("clear"));

        Debug.Log("Sent: " + message.ToString());

        transmitter.Send(message);
    }
    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);
    }
Beispiel #15
0
    public void SendExit()
    {
        OSCMessage message = new OSCMessage(exitFilter);

        message.AddValue(OSCValue.String("exit"));

        Debug.Log("Sent: " + message.ToString());

        transmitter.Send(message);
    }
Beispiel #16
0
    public void SendMode()
    {
        OSCMessage message = new OSCMessage(modeFilter);

        message.AddValue(OSCValue.String("mode"));

        Debug.Log("Sent: " + message.ToString());

        transmitter.Send(message);
    }
Beispiel #17
0
    public void StopSounds()
    {
        // Create message
        var message = new OSCMessage("/stop");

        // Populate values.
        message.AddValue(OSCValue.String("useless"));
        // Send message
        _transmitter.Send(message);
    }
        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);
        }
Beispiel #19
0
 public void SendPlayerName(string nameToSend)
 {
     if (phonePlayer.player == 1)
     {
         Send("/player1/name", OSCValue.String(nameToSend));
     }
     else
     {
         Send("/player2/name", OSCValue.String(nameToSend));
     }
 }
    //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);
    }
        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);
        }
Beispiel #22
0
        private REInvokeStatus InvokeGetObjectsCommand(int instanceId, List <OSCValue> inputValues, ref List <OSCValue> outputValues)
        {
            if (inputValues.Count != 1)
            {
                return(REInvokeStatus.Error);
            }

            if (inputValues[0].Type != OSCValueType.Int)
            {
                return(REInvokeStatus.Error);
            }

            var index         = inputValues[0].IntValue;
            var remoteObjects = (List <REObject>)null;

            if (instanceId == 0)
            {
                remoteObjects = _rootObjects;
            }
            else
            {
                var rootObject = _itemsDictionary[instanceId] as REObject;
                if (rootObject == null)
                {
                    return(REInvokeStatus.Error);
                }
                if (rootObject.Childs.Count == 0)
                {
                    RefreshRemoteChildObjects(rootObject);
                }

                remoteObjects = rootObject.Childs;
            }

            if (index >= remoteObjects.Count || index < 0)
            {
                return(REInvokeStatus.Error);
            }

            var remoteObject = remoteObjects[index];

            if (remoteObject == null)
            {
                return(REInvokeStatus.Error);
            }

            outputValues.Add(OSCValue.Int(index));
            outputValues.Add(OSCValue.Int(remoteObjects.Count));
            outputValues.Add(OSCValue.Int(remoteObject.InstanceId));
            outputValues.Add(OSCValue.String(remoteObject.Name));

            return(REInvokeStatus.Complete);
        }
Beispiel #23
0
        protected override bool FillMessage(OSCMessage message)
        {
            if (receiver == null)
            {
                return(false);
            }

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

            return(true);
        }
Beispiel #24
0
    // Update is called once per frame
    void Update()
    {
        // Create message
        var message = new OSCMessage("/message/address");

        // Populate values.
        message.AddValue(OSCValue.String("Hello, world!"));

        // Send message
        _transmitter.Send(message);
        Debug.Log("Message sent !");
    }
        protected override void Invoke(OSCMessage message)
        {
            if (message.Values.Count < 2)
            {
                return;
            }

            if (message.Values[0].Type != OSCValueType.String ||
                message.Values[1].Type != OSCValueType.Int)
            {
                return;
            }

            var index = 2;
            var count = message.Values.Count - index;

            var taskId       = message.Values[0].StringValue;
            var remoteStatus = (REInvokeStatus)message.Values[1].IntValue;

            if (!_tasksDictionary.ContainsKey(taskId))
            {
                return;
            }

            var task = _tasksDictionary[taskId];

            if (remoteStatus != REInvokeStatus.Complete)
            {
                _tasksDictionary.Remove(taskId);
                task.Complete();
                return;
            }

            var inputValues  = message.Values.GetRange(index, count);
            var outputValues = new List <OSCValue>();

            var invokeStatus = InvokeTask(task, inputValues, ref outputValues);

            if (invokeStatus != REInvokeStatus.Cancel)
            {
                outputValues.Insert(0, OSCValue.String(taskId));
                outputValues.Insert(1, OSCValue.Int((int)task.Command));
                outputValues.Insert(2, OSCValue.Int(task.ParentId));

                Send(Address, outputValues);
            }
            else
            {
                _tasksDictionary.Remove(taskId);
                task.Complete();
            }
        }
Beispiel #26
0
 public void SendValue(string textToSend)
 {
     if (phonePlayer.player == 1)
     {
         iDReceiveText.text = textToSend;
         Send("/player1/cards", OSCValue.String(textToSend));
     }
     else
     {
         iDReceiveText.text = textToSend;
         Send("/player2/cards", OSCValue.String(textToSend));
     }
 }
    //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);
    }
Beispiel #28
0
    void ThrottledUpdate()
    {
        if (shapeEnabled)
        {
            var message = new OSCMessage("/ConductAR/faceBlendShapes");

            foreach (KeyValuePair <string, float> kvp in currentBlendShapes)
            {
                message.AddValue(OSCValue.String("/" + kvp.Key.ToString() + "/" + kvp.Value.ToString()));
            }

            oscManager.transmitter.Send(message);
        }
    }
        private void Send(string address, Task task, params OSCValue[] values)
        {
            var tempValues = new List <OSCValue>();

            tempValues.Add(OSCValue.String(task.TaskId));
            tempValues.Add(OSCValue.Int((int)task.Command));
            tempValues.Add(OSCValue.Int(task.ParentId));

            foreach (var value in values)
            {
                tempValues.Add(value);
            }

            Send(address, tempValues);
        }
Beispiel #30
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);
        }