UniOSCManager.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UniOSC;
  5. using OSCsharp.Data;
  6. using UnityEngine.Video;
  7. public class UniOSCManager : MonoBehaviour
  8. {
  9. public static UniOSCManager Instance;
  10. private UniOSCConnection uniOSCConnection;
  11. // ==================================================
  12. private void Awake()
  13. {
  14. Instance = this;
  15. }
  16. private void Start()
  17. {
  18. uniOSCConnection = GetComponent<UniOSCConnection>();
  19. }
  20. // ==================================================
  21. /// <summary>
  22. /// 消息发射器
  23. /// </summary>
  24. /// <param name="address"></param>
  25. /// <param name="value"></param>
  26. public void SendOSCMessage(string address, object value = null)
  27. {
  28. // OscMessage oscMessage = new OscMessage(address);
  29. OscMessage oscMessage = new OscMessage("/");
  30. oscMessage.Address = address;
  31. oscMessage.ClearData();
  32. if (value != null)
  33. {
  34. oscMessage.Append(value);
  35. }
  36. else
  37. {
  38. oscMessage.Append("");
  39. }
  40. Debug.Log(oscMessage.Address);
  41. UniOSCEventArgs uniOSCEvent = new UniOSCEventArgs(uniOSCConnection.oscOutPort, oscMessage)
  42. {
  43. IPAddress = uniOSCConnection.oscOutIPAddress
  44. };
  45. uniOSCEvent.IPAddress = uniOSCConnection.oscOutIPAddress;
  46. uniOSCConnection.SendOSCMessage(null, uniOSCEvent);
  47. return;
  48. }
  49. }