unity场景名对象在Inspector面板以下拉列表形式显示,避免输入错误。
首先创建一个类用来获取BuildSetting中场景列表中的所有场景名字
public class MSceneName : PropertyAttribute {
/// <summary>
/// 场景名列表
/// </summary>
public string[] NameList {
get {
return GetAllSceneNames();
}
}
/// <summary>
/// 获取BuildSetting中场景列表,并返回场景名列表
/// </summary>
/// <returns></returns>
public string[] GetAllSceneNames() {
List<string> lst = new List<string>();
foreach (EditorBuildSettingsScene scene in EditorBuildSettings.scenes) {
if (scene.enabled) {
string str = scene.path.Substring(scene.path.LastIndexOf('/') + 1);
str = str.Substring(0, str.Length - 6);
lst.Add(str);
}
}