From 6cd87d0301c0489413a375981234137be83546de Mon Sep 17 00:00:00 2001 From: holofermes Date: Wed, 2 Apr 2025 10:38:57 -0400 Subject: [PATCH] add disconnect delegate, and fire it across all paths --- Runtime/Scripts/Room.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Runtime/Scripts/Room.cs b/Runtime/Scripts/Room.cs index 7f1c7760..bf52c0a7 100644 --- a/Runtime/Scripts/Room.cs +++ b/Runtime/Scripts/Room.cs @@ -125,6 +125,7 @@ public class Room public delegate void SipDtmfDelegate(Participant participant, UInt32 code, string digit); public delegate void ConnectionStateChangeDelegate(ConnectionState connectionState); public delegate void ConnectionDelegate(Room room); + public delegate void DisconnectDelegate(DisconnectReason reason); public delegate void E2EeStateChangedDelegate(Participant participant, EncryptionState state); public string Sid { private set; get; } @@ -152,7 +153,7 @@ public class Room public event SipDtmfDelegate SipDtmfReceived; public event ConnectionStateChangeDelegate ConnectionStateChanged; public event ConnectionDelegate Connected; - public event ConnectionDelegate Disconnected; + public event DisconnectDelegate Disconnected; public event ConnectionDelegate Reconnecting; public event ConnectionDelegate Reconnected; public event E2EeStateChangedDelegate E2EeStateChanged; @@ -455,7 +456,7 @@ internal void OnEventReceived(RoomEvent e) ConnectionStateChanged?.Invoke(e.ConnectionStateChanged.State); break; case RoomEvent.MessageOneofCase.Disconnected: - Disconnected?.Invoke(this); + Disconnected?.Invoke(e.Disconnected.Reason); OnDisconnect(); break; case RoomEvent.MessageOneofCase.Reconnecting: @@ -493,6 +494,8 @@ internal void OnConnect(ConnectCallback info) private void OnDisconnectReceived(DisconnectCallback e) { + OnDisconnect(); + Disconnected?.Invoke(DisconnectReason.ClientInitiated); FfiClient.Instance.DisconnectReceived -= OnDisconnectReceived; Utils.Debug($"OnDisconnect.... {e}"); }