Skip to content

Commit 15d6c9e

Browse files
committed
added unregistering of custom named message on dispose
1 parent 4019e5f commit 15d6c9e

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

Assets/BossRoom/Scripts/Shared/Infrastructure/PubSub/MessageChannel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public class MessageChannel<T> : IMessageChannel<T>
1616

1717
public bool IsDisposed { get; private set; } = false;
1818

19-
public void Dispose()
19+
public virtual void Dispose()
2020
{
2121
if (!IsDisposed)
2222
{

Assets/BossRoom/Scripts/Shared/Infrastructure/PubSub/NetworkedMessageChannel.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,18 @@ public NetworkedMessageChannel()
2323
m_Name = $"{typeof(T).FullName}NetworkMessageChannel";
2424
}
2525

26-
~NetworkedMessageChannel()
26+
public override void Dispose()
2727
{
28-
if (NetworkManager.Singleton != null && NetworkManager.Singleton.CustomMessagingManager != null)
28+
if (!IsDisposed)
2929
{
30-
NetworkManager.Singleton.CustomMessagingManager.UnregisterNamedMessageHandler(m_Name);
30+
if (NetworkManager.Singleton != null && NetworkManager.Singleton.CustomMessagingManager != null)
31+
{
32+
NetworkManager.Singleton.CustomMessagingManager.UnregisterNamedMessageHandler(m_Name);
33+
}
34+
35+
m_HasRegisteredHandler = false;
3136
}
37+
base.Dispose();
3238
}
3339

3440
public override IDisposable Subscribe(Action<T> handler)

0 commit comments

Comments
 (0)