版本:Unity 6(6000.0)
语言英语
  • C#

EditorBuildSettings.TryGetConfigObject

提出修改建议

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实阅读用户建议的每项修改内容,并在适用时进行更新。

关闭

提交失败

由于某种原因,您建议的更改无法提交。请在几分钟后<a>重试</a>。感谢您抽出宝贵时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static bool TryGetConfigObject(string name, out T result);

参数

name 要获取的配置对象引用的字符串格式名称。
result 返回的对象将被存储的配置对象引用。它必须是 Object 类型的对象。

返回值

bool 如果找到配置对象引用,并且类型与 result 参数匹配,则返回 true。如果找不到该项,配置对象引用为 null,或者所请求的类型与存储的类型不匹配,则返回 false。

说明

按照名称检索配置对象引用。

using UnityEngine;
using UnityEditor;
using System.IO;

public class MyConfigData : ScriptableObject { public static MyConfigData GetDefault() { //name of config data object string stringName = "com.myproject.myconfigdata"; //path to Config Object and asset name string stringPath = "Assets/myconfigdata.asset"; //used to hold config data MyConfigData data = null;

//if a config data object exists with the same name, return its config data if (EditorBuildSettings.TryGetConfigObject<MyConfigData>(stringName, out data)) return data;

//If the asset file already exists, store existing config data if (File.Exists(stringPath)) data = AssetDatabase.LoadAssetAtPath<MyConfigData>(stringPath); //if no previous config data exists if (data == null) { //show save file dialog and return user selected path name stringPath = EditorUtility.SaveFilePanelInProject("New Config File", "myconfigdata", "asset", "Select Config File Asset", "Assets"); //initialise config data object data = ScriptableObject.CreateInstance<MyConfigData>(); //create new asset from data at specified path //asset MUST be saved with the AssetDatabase before adding to EditorBuildSettings AssetDatabase.CreateAsset(data, stringPath); }

//add the new or loaded config object to EditorBuildSettings EditorBuildSettings.AddConfigObject(stringName, data, false);

return data; } }