Compare commits

...

3 Commits

View File

@ -10,6 +10,8 @@ namespace NegUtils.Editor
[InitializeOnLoad]
public class ToolsWindowBase : EditorWindow
{
private const int UnitySceneExtensionLength = 6;
static ToolsWindowBase()
{
EditorApplication.playModeStateChanged += OnPlayModeStateChanged;
@ -55,19 +57,33 @@ namespace NegUtils.Editor
private static void ShowScenesList(Rect position)
{
var menu = new GenericMenu();
string path = Application.dataPath + "/Scenes/Production";
string[] fileInfo = Directory.GetFiles(path, "*.unity");
AddFiles(path, path, menu);
menu.DropDown(position);
}
foreach (string item in fileInfo)
private static void AddFiles(string path, string basePath, GenericMenu menu)
{
string[] fileInfo = Directory.GetFiles(path, "*.unity");
for (int i = 0; i < fileInfo.Length; i++)
{
string s = item;
menu.AddItem(new GUIContent(s.Remove(0, path.Length + 1).Remove(s.Length - path.Length - 7 ,6)), false, () => {
string s = fileInfo[i];
menu.AddItem(new GUIContent(s.Remove(0, basePath.Length + 1).Remove(s.Length - basePath.Length - UnitySceneExtensionLength - 1 ,UnitySceneExtensionLength).Replace('\\', '/')), false, () => {
LoadScene(s);
});
if(i == fileInfo.Length) continue;
menu.AddSeparator("");
}
menu.DropDown(position);
string[] dirInfo = Directory.GetDirectories(path);
foreach (string dir in dirInfo)
{
AddFiles(dir, basePath, menu);
}
}
private static void LoadScene(string path)