From 533ddb404ffa5582e5ac9c395861806e2042e981 Mon Sep 17 00:00:00 2001 From: Stedd Date: Sun, 22 Oct 2023 01:16:56 +0200 Subject: [PATCH] Invoking action on receiving data --- Scripts/UDPManager.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Scripts/UDPManager.cs b/Scripts/UDPManager.cs index 0087b9a..d935bf4 100644 --- a/Scripts/UDPManager.cs +++ b/Scripts/UDPManager.cs @@ -1,6 +1,6 @@ +using System; using System.Net; using System.Net.Sockets; -using System.Text; using System.Threading; using UnityEngine; @@ -10,10 +10,10 @@ namespace GameDev.UDP { [SerializeField] private int _port; [SerializeField] private string _ipAddress; - [SerializeField] private bool listen; [Header("State")] [SerializeField] private byte _watchdog; + public byte[] Data { get; private set; } private UdpClient UdpClient { get; set; } @@ -21,6 +21,8 @@ namespace GameDev.UDP private IPAddress _ipAddressParsed; + public event Action ReceivedNewUdpData; + private void OnEnable() { _ipAddressParsed = IPAddress.Parse(_ipAddress); @@ -28,7 +30,6 @@ namespace GameDev.UDP UdpClient = new(_port); UdpClient.JoinMulticastGroup(_ipAddressParsed); _receiveThread = new(ReceiveData); - _receiveThread.IsBackground = true; _receiveThread.Start(); } @@ -41,8 +42,9 @@ namespace GameDev.UDP try { var data = UdpClient.Receive(ref ipEndPoint); - _watchdog = data[0]; + Data = data; + ReceivedNewUdpData.Invoke(); } catch (SocketException e) {