unity 获取当前项目的所有场景
时间: 2024-09-11 20:02:14 浏览: 127
Unity自动保存项目1
在Unity中获取当前项目的所有场景,可以通过编辑器类(Editor-only)来实现,因为这涉及到编辑器层面的操作。以下是一个示例代码,展示了如何获取并列出当前Unity项目中所有的场景名称:
```csharp
using UnityEngine;
using UnityEditor;
public class SceneUtility : EditorWindow
{
[MenuItem("Window/Scene Utility")]
private static void ShowWindow()
{
EditorWindow.GetWindow<SceneUtility>("Scene Utility");
}
private void OnGUI()
{
GUILayout.Label("Current Project's Scenes:", EditorStyles.boldLabel);
string[] scenePaths = EditorBuildSettings.scenes.Select(scene => scene.path).ToArray();
foreach (string scenePath in scenePaths)
{
string sceneName = System.IO.Path.GetFileNameWithoutExtension(scenePath);
GUILayout.Label(sceneName, EditorStyles.label);
}
}
}
```
这段代码定义了一个编辑器窗口类 `SceneUtility`,当你通过菜单项“Window/Scene Utility”打开这个窗口时,它会在界面上列出所有在 `EditorBuildSettings` 中配置的场景路径,以及对应的场景名称(去除了文件扩展名)。
请注意,这段代码需要在Unity编辑器环境下运行,因为它使用了Unity的编辑器API,这些API在游戏运行时是不可用的。
阅读全文