Unity 6.3
0 онлайн 1 гость 3 в системе
Вход

EditorBuildSettings.TryGetConfigObject

Declaration

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

Параметры

Параметр Описание
имя Имя в строковом формате ссылки на конфигурационный объект, который будет извлечён.
результат Ссылка на объект конфигурации, в которой будет сохранён возвращённый объект. Это должен быть объект типа Object.

Возвращаемое значение

логическое Возвращает true, если ссылка на объект конфигурации найдена и тип соответствует параметру результата. Возвращает false, если запись не найдена, ссылка на объект конфигурации является nullили если запрашиваемый тип не соответствует хранимому типу.

Описание

Получить ссылку на объект конфигурации по имени.

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; } }