Merge branch 'dev' into disconnect-at-end-of-game

This commit is contained in:
Mister_Nebula 2021-12-23 19:00:44 +00:00
commit 0015495ea1
2 changed files with 18 additions and 26 deletions

View File

@ -172,19 +172,15 @@ namespace QSB.ClientServerStateSync
}
}
private ClientState ForceGetCurrentState()
{
var currentScene = LoadManager.GetCurrentScene();
return currentScene switch
private static ClientState ForceGetCurrentState()
=> QSBSceneManager.CurrentScene switch
{
OWScene.TitleScreen => ClientState.InTitleScreen,
OWScene.Credits_Fast => ClientState.WatchingShortCredits,
OWScene.Credits_Final or OWScene.PostCreditsScene => ClientState.WatchingLongCredits,
OWScene.SolarSystem => ClientState.AliveInSolarSystem,
OWScene.EyeOfTheUniverse => ClientState.AliveInEye,
_ => ClientState.NotLoaded,
_ => ClientState.NotLoaded
};
}
}
}
}

View File

@ -94,24 +94,20 @@ namespace QSB.ClientServerStateSync
private void OnTriggerSupernova()
{
FireChangeServerStateEvent(ServerState.WaitingForAllPlayersToDie);
}
private ServerState ForceGetCurrentState()
{
var currentScene = LoadManager.GetCurrentScene();
switch (currentScene)
if (QSBSceneManager.CurrentScene == OWScene.SolarSystem)
{
case OWScene.SolarSystem:
return ServerState.InSolarSystem;
case OWScene.EyeOfTheUniverse:
return ServerState.InEye;
default:
return ServerState.NotLoaded;
FireChangeServerStateEvent(ServerState.WaitingForAllPlayersToDie);
}
}
private static ServerState ForceGetCurrentState()
=> QSBSceneManager.CurrentScene switch
{
OWScene.SolarSystem => ServerState.InSolarSystem,
OWScene.EyeOfTheUniverse => ServerState.InEye,
_ => ServerState.NotLoaded
};
private void Update()
{
if (!QSBCore.IsHost)
@ -128,9 +124,9 @@ namespace QSB.ClientServerStateSync
if (_currentState == ServerState.WaitingForAllPlayersToReady)
{
if (QSBPlayerManager.PlayerList.All(x
=> x.State is ClientState.WaitingForOthersToBeReady
or ClientState.AliveInSolarSystem
or ClientState.AliveInEye))
=> x.State is ClientState.WaitingForOthersToBeReady
or ClientState.AliveInSolarSystem
or ClientState.AliveInEye))
{
DebugLog.DebugWrite($"All ready!!");
QSBEventManager.FireEvent(EventNames.QSBStartLoop);
@ -153,4 +149,4 @@ namespace QSB.ClientServerStateSync
}
}
}
}
}