总的来说,你不能得到任何关于
Scene
还没有加载。甚至使用
SceneManager.GetSceneByBuildIndex
州
如果场景已添加到给定构建索引的构建设置中,并且
场景已加载。如果尚未加载,SceneManager将无法返回有效的场景。
你呢
可以
但是,通过使用获取至少所有场景路径/名称
SceneUtility.GetScenePathByBuildIndex
通过迭代
SceneManager.sceneCountInBuildSettings
int sceneCount = SceneManager.sceneCountInBuildSettings;
string[] scenes = new string[sceneCount];
for( int i = 0; i < sceneCount; i++ )
{
scenes[i] = SceneUtility.GetScenePathByBuildIndex(i);
}
这些将是完整的场景路径。如果只想要场景名称本身(但可能是重复的),则可以使用
scenes[i] = Path.GetFileNameWithoutExtension(SceneUtility.GetScenePathByBuildIndex(i));