Объявление
public static void SetPreloadedAssets(Object[] assets);Описание
Назначает активы, которые будут загружаться при запуске в проигрывателе и оставаться активными до закрытия проигрывателя.
В этом примере показано, как можно использовать ScriptableObject для хранения данных, к которым можно получить доступ в любое время на протяжении всего жизненного цикла проигрывателя.
using System.Linq;
using UnityEngine;
// Мы используем этот класс для хранения общих данных конфигурации, которые можно использовать в плеере
public class ConfigObject : ScriptableObject
{
public string text;
public static ConfigObject configInstance;
#if UNITY_EDITOR
[UnityEditor.MenuItem("Assets/Create/Config Object")]
public static void CreateAsset()
{
var path = UnityEditor.EditorUtility.SaveFilePanelInProject("Save Config", "config", "asset", string.Empty);
if (string.IsNullOrEmpty(path))
return;
var configObject = CreateInstance();
UnityEditor.AssetDatabase.CreateAsset(configObject, path);
// Добавляем конфигурационный ресурс в сборку
var preloadedAssets = UnityEditor.PlayerSettings.GetPreloadedAssets().ToList();
preloadedAssets.Add(configObject);
UnityEditor.PlayerSettings.SetPreloadedAssets(preloadedAssets.ToArray());
}
#endif
void OnEnable()
{
configInstance = this;
}
}
using UnityEngine;
public class UseConfigObject : MonoBehaviour
{
void OnGUI()
{
if (ConfigObject.configInstance != null)
{
GUILayout.Label("Found the config asset. The message was: " + ConfigObject.configInstance.text);
}
}
}