Skip to content

Commit 5a1de63

Browse files
fix: replace null-coalescencing and null-conditional operators [MTT-7125] (#867)
* removing uses of the null-coalescing operator * replacing null-conditional operators with regular null checks
1 parent 10ba2ae commit 5a1de63

File tree

22 files changed

+135
-35
lines changed

22 files changed

+135
-35
lines changed

Assets/Scripts/ApplicationLifecycle/ApplicationController.cs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,16 @@ private void Start()
9898

9999
protected override void OnDestroy()
100100
{
101-
m_Subscriptions?.Dispose();
102-
m_LobbyServiceFacade?.EndTracking();
101+
if (m_Subscriptions != null)
102+
{
103+
m_Subscriptions.Dispose();
104+
}
105+
106+
if (m_LobbyServiceFacade != null)
107+
{
108+
m_LobbyServiceFacade.EndTracking();
109+
}
110+
103111
base.OnDestroy();
104112
}
105113

@@ -127,7 +135,7 @@ private bool OnWantToQuit()
127135
{
128136
Application.wantsToQuit -= OnWantToQuit;
129137

130-
var canQuit = string.IsNullOrEmpty(m_LocalLobby?.LobbyID);
138+
var canQuit = m_LocalLobby != null && string.IsNullOrEmpty(m_LocalLobby.LobbyID);
131139
if (!canQuit)
132140
{
133141
StartCoroutine(LeaveBeforeQuit());

Assets/Scripts/ConnectionManagement/ConnectionState/HostingState.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,19 @@ public override void Exit()
4242

4343
public override void OnClientConnected(ulong clientId)
4444
{
45-
m_ConnectionEventPublisher.Publish(new ConnectionEventMessage() { ConnectStatus = ConnectStatus.Success, PlayerName = SessionManager<SessionPlayerData>.Instance.GetPlayerData(clientId)?.PlayerName });
45+
var playerData = SessionManager<SessionPlayerData>.Instance.GetPlayerData(clientId);
46+
if (playerData != null)
47+
{
48+
m_ConnectionEventPublisher.Publish(new ConnectionEventMessage() { ConnectStatus = ConnectStatus.Success, PlayerName = playerData.Value.PlayerName });
49+
}
50+
else
51+
{
52+
// This should not happen since player data is assigned during connection approval
53+
Debug.LogError($"No player data associated with client {clientId}");
54+
var reason = JsonUtility.ToJson(ConnectStatus.GenericDisconnect);
55+
m_ConnectionManager.NetworkManager.DisconnectClient(clientId, reason);
56+
}
57+
4658
}
4759

4860
public override void OnClientDisconnect(ulong clientId)

Assets/Scripts/Gameplay/GameState/ServerBossRoomState.cs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,15 +88,22 @@ void OnNetworkSpawn()
8888

8989
void OnNetworkDespawn()
9090
{
91-
m_LifeStateChangedEventMessageSubscriber?.Unsubscribe(OnLifeStateChangedEventMessage);
91+
if (m_LifeStateChangedEventMessageSubscriber != null)
92+
{
93+
m_LifeStateChangedEventMessageSubscriber.Unsubscribe(OnLifeStateChangedEventMessage);
94+
}
95+
9296
NetworkManager.Singleton.OnClientDisconnectCallback -= OnClientDisconnect;
9397
NetworkManager.Singleton.SceneManager.OnLoadEventCompleted -= OnLoadEventCompleted;
9498
NetworkManager.Singleton.SceneManager.OnSynchronizeComplete -= OnSynchronizeComplete;
9599
}
96100

97101
protected override void OnDestroy()
98102
{
99-
m_LifeStateChangedEventMessageSubscriber?.Unsubscribe(OnLifeStateChangedEventMessage);
103+
if (m_LifeStateChangedEventMessageSubscriber != null)
104+
{
105+
m_LifeStateChangedEventMessageSubscriber.Unsubscribe(OnLifeStateChangedEventMessage);
106+
}
100107

101108
if (m_NetcodeHooks)
102109
{

Assets/Scripts/Gameplay/GameplayObjects/Character/ServerCharacterMovement.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,10 @@ public bool IsMoving()
141141
/// </summary>
142142
public void CancelMove()
143143
{
144-
m_NavPath?.Clear();
144+
if (m_NavPath != null)
145+
{
146+
m_NavPath.Clear();
147+
}
145148
m_MovementState = MovementState.Idle;
146149
}
147150

Assets/Scripts/Gameplay/GameplayObjects/SwitchedDoor.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,10 @@ void OnDoorStateChanged(bool wasDoorOpen, bool isDoorOpen)
100100
if (IsClient)
101101
{
102102
m_PhysicsObject.SetActive(!isDoorOpen);
103-
m_Publisher?.Publish(new DoorStateChangedEventMessage() { IsDoorOpen = isDoorOpen });
103+
if (m_Publisher != null)
104+
{
105+
m_Publisher.Publish(new DoorStateChangedEventMessage() { IsDoorOpen = isDoorOpen });
106+
}
104107
}
105108
}
106109

Assets/Scripts/Gameplay/UI/ConnectionStatusMessageUIManager.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@ void Awake()
3030

3131
void OnDestroy()
3232
{
33-
m_Subscriptions?.Dispose();
33+
if (m_Subscriptions != null)
34+
{
35+
m_Subscriptions.Dispose();
36+
}
3437
}
3538

3639
void OnConnectStatus(ConnectStatus status)

Assets/Scripts/Gameplay/UI/IPConnectionWindow.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,10 @@ void Awake()
3636

3737
void OnDestroy()
3838
{
39-
m_ConnectStatusSubscriber?.Unsubscribe(OnConnectStatusMessage);
39+
if (m_ConnectStatusSubscriber != null)
40+
{
41+
m_ConnectStatusSubscriber.Unsubscribe(OnConnectStatusMessage);
42+
}
4043
}
4144

4245
void OnConnectStatusMessage(ConnectStatus connectStatus)

Assets/Scripts/Gameplay/UI/IPUIMediator.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,10 @@ void Start()
6565

6666
void OnDestroy()
6767
{
68-
m_ConnectStatusSubscriber?.Unsubscribe(OnConnectStatusMessage);
68+
if (m_ConnectStatusSubscriber != null)
69+
{
70+
m_ConnectStatusSubscriber.Unsubscribe(OnConnectStatusMessage);
71+
}
6972
}
7073

7174
void OnConnectStatusMessage(ConnectStatus connectStatus)

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,16 @@ void OnDisable()
4141
{
4242
if (m_UpdateRunner != null)
4343
{
44-
m_UpdateRunner?.Unsubscribe(PeriodicRefresh);
44+
m_UpdateRunner.Unsubscribe(PeriodicRefresh);
4545
}
4646
}
4747

4848
void OnDestroy()
4949
{
50-
m_LocalLobbiesRefreshedSub?.Unsubscribe(UpdateUI);
50+
if (m_LocalLobbiesRefreshedSub != null)
51+
{
52+
m_LocalLobbiesRefreshedSub.Unsubscribe(UpdateUI);
53+
}
5154
}
5255

5356
[Inject]

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,10 @@ void OnConnectStatus(ConnectStatus status)
6666

6767
void OnDestroy()
6868
{
69-
m_ConnectStatusSubscriber?.Unsubscribe(OnConnectStatus);
69+
if (m_ConnectStatusSubscriber != null)
70+
{
71+
m_ConnectStatusSubscriber.Unsubscribe(OnConnectStatus);
72+
}
7073
}
7174

7275
//Lobby and Relay calls done from UI

0 commit comments

Comments
 (0)