Skip to content

Commit 43eda3f

Browse files
committed
Used the new API to unsubscribe directly from an ISubscriber - better readability in trivial cases
1 parent 591c165 commit 43eda3f

File tree

6 files changed

+24
-21
lines changed

6 files changed

+24
-21
lines changed

Assets/Scripts/Gameplay/GameState/ServerBossRoomState.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,6 @@ public class ServerBossRoomState : GameStateBehaviour
5151
/// </summary>
5252
[Inject] ISubscriber<LifeStateChangedEventMessage> m_LifeStateChangedEventMessageSubscriber;
5353

54-
IDisposable m_Subscription;
55-
5654
[Inject] ConnectionManager m_ConnectionManager;
5755

5856
protected override void Awake()
@@ -71,15 +69,15 @@ void OnNetworkSpawn()
7169
return;
7270
}
7371

74-
m_Subscription = m_LifeStateChangedEventMessageSubscriber.Subscribe(OnLifeStateChangedEventMessage);
72+
m_LifeStateChangedEventMessageSubscriber.Subscribe(OnLifeStateChangedEventMessage);
7573

7674
NetworkManager.Singleton.SceneManager.OnLoadComplete += OnServerLoadComplete;
7775
NetworkManager.Singleton.SceneManager.OnUnloadComplete += OnServerUnloadComplete;
7876
}
7977

8078
void OnNetworkDespawn()
8179
{
82-
m_Subscription?.Dispose();
80+
m_LifeStateChangedEventMessageSubscriber.Unsubscribe(OnLifeStateChangedEventMessage);
8381

8482
NetworkManager.Singleton.SceneManager.OnLoadComplete -= OnServerLoadComplete;
8583
NetworkManager.Singleton.SceneManager.OnUnloadComplete -= OnServerUnloadComplete;
@@ -116,7 +114,7 @@ void OnServerUnloadComplete(ulong clientId, string sceneName)
116114

117115
protected override void OnDestroy()
118116
{
119-
m_Subscription?.Dispose();
117+
m_LifeStateChangedEventMessageSubscriber?.Unsubscribe(OnLifeStateChangedEventMessage);
120118

121119
if (m_NetcodeHooks)
122120
{

Assets/Scripts/Gameplay/UI/IPConnectionWindow.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,13 @@ public class IPConnectionWindow : MonoBehaviour
1919

2020
[Inject] IPUIMediator m_IPUIMediator;
2121

22-
IDisposable m_Subscription;
22+
ISubscriber<ConnectStatus> m_ConnectStatusSubscriber;
2323

2424
[Inject]
2525
void InjectDependencies(ISubscriber<ConnectStatus> connectStatusSubscriber)
2626
{
27-
m_Subscription = connectStatusSubscriber.Subscribe(OnConnectStatusMessage);
27+
m_ConnectStatusSubscriber = connectStatusSubscriber;
28+
m_ConnectStatusSubscriber.Subscribe(OnConnectStatusMessage);
2829
}
2930

3031
void Awake()
@@ -34,7 +35,7 @@ void Awake()
3435

3536
void OnDestroy()
3637
{
37-
m_Subscription.Dispose();
38+
m_ConnectStatusSubscriber.Unsubscribe(OnConnectStatusMessage);
3839
}
3940

4041
void OnConnectStatusMessage(ConnectStatus connectStatus)

Assets/Scripts/Gameplay/UI/IPUIMediator.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,13 @@ public class IPUIMediator : MonoBehaviour
3939

4040
public IPHostingUI IPHostingUI => m_IPHostingUI;
4141

42-
IDisposable m_Subscription;
42+
ISubscriber<ConnectStatus> m_ConnectStatusSubscriber;
4343

4444
[Inject]
4545
void InjectDependencies(ISubscriber<ConnectStatus> connectStatusSubscriber)
4646
{
47-
m_Subscription = connectStatusSubscriber.Subscribe(OnConnectStatusMessage);
47+
m_ConnectStatusSubscriber = connectStatusSubscriber;
48+
m_ConnectStatusSubscriber.Subscribe(OnConnectStatusMessage);
4849
}
4950

5051
void Awake()
@@ -61,7 +62,7 @@ void Start()
6162

6263
void OnDestroy()
6364
{
64-
m_Subscription.Dispose();
65+
m_ConnectStatusSubscriber.Unsubscribe(OnConnectStatusMessage);
6566
}
6667

6768
void OnConnectStatusMessage(ConnectStatus connectStatus)

Assets/Scripts/Gameplay/UI/Lobby/LobbyJoiningUI.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ public class LobbyJoiningUI : MonoBehaviour
2222
IObjectResolver m_Container;
2323
LobbyUIMediator m_LobbyUIMediator;
2424
UpdateRunner m_UpdateRunner;
25-
IDisposable m_Subscriptions;
25+
ISubscriber<LobbyListFetchedMessage> m_LocalLobbiesRefreshedSub;
26+
2627
List<LobbyListItemUI> m_LobbyListItems = new List<LobbyListItemUI>();
2728

2829
void Awake()
@@ -40,7 +41,7 @@ void OnDisable()
4041

4142
void OnDestroy()
4243
{
43-
m_Subscriptions?.Dispose();
44+
m_LocalLobbiesRefreshedSub.Unsubscribe(UpdateUI);
4445
}
4546

4647
[Inject]
@@ -53,7 +54,8 @@ void InjectDependenciesAndInitialize(
5354
m_Container = container;
5455
m_LobbyUIMediator = lobbyUIMediator;
5556
m_UpdateRunner = updateRunner;
56-
m_Subscriptions = localLobbiesRefreshedSub.Subscribe(UpdateUI);
57+
m_LocalLobbiesRefreshedSub = localLobbiesRefreshedSub;
58+
m_LocalLobbiesRefreshedSub.Subscribe(UpdateUI);
5759
}
5860

5961
/// <summary>

Assets/Scripts/Gameplay/UI/Lobby/LobbyUIMediator.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class LobbyUIMediator : MonoBehaviour
2828
LocalLobby m_LocalLobby;
2929
NameGenerationData m_NameGenerationData;
3030
ConnectionManager m_ConnectionManager;
31-
IDisposable m_Subscriptions;
31+
ISubscriber<ConnectStatus> m_ConnectStatusSubscriber;
3232

3333
const string k_DefaultLobbyName = "no-name";
3434

@@ -49,10 +49,10 @@ ConnectionManager connectionManager
4949
m_LobbyServiceFacade = lobbyServiceFacade;
5050
m_LocalLobby = localLobby;
5151
m_ConnectionManager = connectionManager;
52-
52+
m_ConnectStatusSubscriber = connectStatusSub;
5353
RegenerateName();
5454

55-
m_Subscriptions = connectStatusSub.Subscribe(OnConnectStatus);
55+
m_ConnectStatusSubscriber.Subscribe(OnConnectStatus);
5656
}
5757

5858
void OnConnectStatus(ConnectStatus status)
@@ -65,7 +65,7 @@ void OnConnectStatus(ConnectStatus status)
6565

6666
void OnDestroy()
6767
{
68-
m_Subscriptions?.Dispose();
68+
m_ConnectStatusSubscriber.Unsubscribe(OnConnectStatus);
6969
}
7070

7171
//Lobby and Relay calls done from UI

Assets/Scripts/Gameplay/UI/UnityServicesUIHandler.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace Unity.Multiplayer.Samples.BossRoom.Visual
1010
{
1111
public class UnityServicesUIHandler : MonoBehaviour
1212
{
13-
IDisposable m_Subscriptions;
13+
ISubscriber<UnityServiceErrorMessage> m_ServiceErrorSubscription;
1414

1515
void Awake()
1616
{
@@ -20,7 +20,8 @@ void Awake()
2020
[Inject]
2121
void Initialize(ISubscriber<UnityServiceErrorMessage> serviceError)
2222
{
23-
m_Subscriptions = serviceError.Subscribe(ServiceErrorHandler);
23+
m_ServiceErrorSubscription = serviceError;
24+
m_ServiceErrorSubscription.Subscribe(ServiceErrorHandler);
2425
}
2526

2627
void ServiceErrorHandler(UnityServiceErrorMessage error)
@@ -86,7 +87,7 @@ void HandleLobbyError(UnityServiceErrorMessage error)
8687

8788
void OnDestroy()
8889
{
89-
m_Subscriptions?.Dispose();
90+
m_ServiceErrorSubscription.Unsubscribe(ServiceErrorHandler);
9091
}
9192
}
9293
}

0 commit comments

Comments
 (0)