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; } }
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.