IEnumerator LoadAndWait(int sceneIndex)
{
loadingScreen.Show();
Time.timeScale = 0;
AsyncOperation loading = SceneManager.LoadSceneAsync(sceneIndex, LoadSceneMode.Additive);
while (!loading.isDone)
{
yield return(null);
if (loadingSlider)
{
loadingSlider.value = loading.progress;
}
}
curSceneIndex = sceneIndex;
player.Respawn();
yield return(null);
float waitTime = minLoadingTime;
while (waitTime > 0)
{
waitTime -= Time.unscaledDeltaTime;
if (loadingSlider)
{
loadingSlider.value = minLoadingTime - waitTime;
}
yield return(null);
}
Time.timeScale = 1;
loadingScreen.Hide();
}