Skip to content

Commit b9afaca

Browse files
committed
Fixing conflicts in ServerBossRoomState
1 parent f733ae3 commit b9afaca

File tree

1 file changed

+6
-60
lines changed

1 file changed

+6
-60
lines changed

Assets/Scripts/Gameplay/GameState/ServerBossRoomState.cs

Lines changed: 6 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,6 @@ void OnLoadComplete(ulong clientId, string sceneName, LoadSceneMode loadSceneMod
6464
{
6565
ServerLoaded();
6666
}
67-
else
68-
{
69-
ClientLoaded(clientId, sceneName);
70-
}
7167
}
7268

7369
private void ServerLoaded()
@@ -82,37 +78,14 @@ private void ServerLoaded()
8278
SetWinState(WinState.Invalid);
8379

8480
NetworkManager.Singleton.OnClientDisconnectCallback += OnClientDisconnect;
85-
86-
DoInitialSpawnIfPossible();
81+
NetworkManager.Singleton.SceneManager.OnLoadEventCompleted += OnLoadEventCompleted;
82+
NetworkManager.Singleton.SceneManager.OnSynchronizeComplete += OnSynchronizeComplete;
8783

8884
SessionManager<SessionPlayerData>.Instance.OnSessionStarted();
8985
m_Subscription = m_LifeStateChangedEventMessageSubscriber.Subscribe(OnLifeStateChangedEventMessage);
9086
}
9187
}
9288

93-
private void ClientLoaded(ulong clientId, string sceneName)
94-
{
95-
var sceneIndex = SceneManager.GetSceneByName(sceneName).buildIndex;
96-
int serverScene = UnityEngine.SceneManagement.SceneManager.GetActiveScene().buildIndex;
97-
if (sceneIndex == serverScene)
98-
{
99-
Debug.Log($"client={clientId} now in scene {sceneIndex}, server_scene={serverScene}, all players in server scene={m_ServerNetPortal.AreAllClientsInServerScene()}");
100-
101-
bool didSpawn = DoInitialSpawnIfPossible();
102-
103-
if (!didSpawn && InitialSpawnDone &&
104-
!PlayerServerCharacter.GetPlayerServerCharacters().Find(
105-
player => player.OwnerClientId == clientId))
106-
{
107-
//somebody joined after the initial spawn. This is a Late Join scenario. This player may have issues
108-
//(either because multiple people are late-joining at once, or because some dynamic entities are
109-
//getting spawned while joining. But that's not something we can fully address by changes in
110-
//ServerBossRoomState.
111-
SpawnPlayer(clientId, true);
112-
}
113-
}
114-
}
115-
11689
protected override void OnDestroy()
11790
{
11891
m_Subscription?.Dispose();
@@ -167,41 +140,14 @@ IEnumerator WaitToCheckForGameOver()
167140
CheckForGameOver();
168141
}
169142

170-
public void OnClientSceneChanged(SceneEvent sceneEvent)
171-
{
172-
if (sceneEvent.SceneEventType != SceneEventType.LoadComplete) return;
173-
174-
var clientId = sceneEvent.ClientId;
175-
var sceneIndex = SceneManager.GetSceneByName(sceneEvent.SceneName).buildIndex;
176-
int serverScene = UnityEngine.SceneManagement.SceneManager.GetActiveScene().buildIndex;
177-
if (sceneIndex == serverScene)
178-
{
179-
Debug.Log($"client={clientId} now in scene {sceneIndex}, server_scene={serverScene}, all players in server scene={m_ServerNetPortal.AreAllClientsInServerScene()}");
180-
181-
bool didSpawn = DoInitialSpawnIfPossible();
182-
183-
if (!didSpawn && InitialSpawnDone &&
184-
!PlayerServerCharacter.GetPlayerServerCharacters().Find(
185-
player => player.OwnerClientId == clientId))
186-
{
187-
//somebody joined after the initial spawn. This is a Late Join scenario. This player may have issues
188-
//(either because multiple people are late-joining at once, or because some dynamic entities are
189-
//getting spawned while joining. But that's not something we can fully address by changes in
190-
//ServerBossRoomState.
191-
SpawnPlayer(clientId, true);
192-
}
193-
}
194-
}
195-
196143
public void OnServerUnloadComplete(ulong clientId, string sceneName)
197144
{
198145
if (clientId != NetworkManager.ServerClientId) return;
199146

200-
if (m_NetPortal != null)
201-
{
202-
NetworkManager.Singleton.OnClientDisconnectCallback -= OnClientDisconnect;
203-
NetworkManager.Singleton.SceneManager.OnSceneEvent -= OnClientSceneChanged;
204-
}
147+
NetworkManager.Singleton.OnClientDisconnectCallback -= OnClientDisconnect;
148+
NetworkManager.Singleton.OnClientDisconnectCallback -= OnClientDisconnect;
149+
NetworkManager.Singleton.SceneManager.OnLoadEventCompleted -= OnLoadEventCompleted;
150+
NetworkManager.Singleton.SceneManager.OnSynchronizeComplete -= OnSynchronizeComplete;
205151
m_Subscription?.Dispose();
206152
}
207153

0 commit comments

Comments
 (0)