csharp 统一のシーンファイルリストウィンドウ。全てのシーン,ビルド登录シーンを切り替え可。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 统一のシーンファイルリストウィンドウ。全てのシーン,ビルド登录シーンを切り替え可。相关的知识,希望对你有一定的参考价值。
/// <summary>
/// Scene List Editor Window
/// @author Shunsuke Ohba
/// </summary>
using UnityEngine;
using UnityEditor;
using System.IO;
using System.Collections;
using System.Collections.Generic;
namespace Baobao.Editor
{
public class SceneList : EditorWindow
{
private List<FileInfo> FileList;
private bool IsUpdate;
private bool IsAllScene;
private Vector2 scrollPos;
[MenuItem ("Window/Scene List")]
static void Init ()
{
EditorWindow w = EditorWindow.GetWindow<SceneList> ();
w.Show ();
w.title = "Scene list";
}
void OnGUI ()
{
if (IsUpdate)
{
FileList = new List<FileInfo> ();
// 取得するシーンの切り替え
if (!IsAllScene)
{
foreach (var scene in EditorBuildSettings.scenes)
{
DirectoryInfo info = new DirectoryInfo (scene.path);
FileInfo[] fileList = info.GetFiles ("*.unity");
foreach (var file in fileList)
FileList.Add (file);
}
}
else
{
List<string> dirList = new List<string> ();
GetSubfolders (Application.dataPath, dirList);
foreach (var path in dirList)
{
DirectoryInfo info = new DirectoryInfo (path);
FileInfo[] fileList = info.GetFiles ("*.unity");
foreach (var file in fileList)
FileList.Add (file);
}
}
}
scrollPos = GUILayout.BeginScrollView (scrollPos);
if (FileList != null)
foreach (var f in FileList)
if (GUILayout.Button (f.Name))
EditorApplication.OpenScene (f.FullName);
GUILayout.EndScrollView ();
IsUpdate = false;
IsAllScene = GUILayout.Toggle (IsAllScene, "GET ALL SCENES");
GUILayout.Space (20f);
if (GUILayout.Button("Update", GUILayout.Width (200f)))
{
IsUpdate = true;
}
}
private void GetSubfolders(string folderName, List<string> subFolders)
{
// Get sub folders
foreach (string folder in Directory.GetDirectories(folderName))
{
// add list
subFolders.Add(folder);
GetSubfolders(folder, subFolders);
}
}
}
}
以上是关于csharp 统一のシーンファイルリストウィンドウ。全てのシーン,ビルド登录シーンを切り替え可。的主要内容,如果未能解决你的问题,请参考以下文章
apache_conf ディレクトリのファイルリストを见せない。
html jQuery的でモーダルウィンドウ
ruby ターミナルとかでファイルの削除リストを提示された时に使う。
apache_conf テキスト入力确认ウィンドウサンプル
ruby ファイルリネーム
python メモリ上のCSVをリストに変换する方法。ファイルからCSVを読み込んだときのCSVと同様にcsv.rader()すると一文字ごとのリストが返ってしまうので,直接改行コードで区切りリストに