Описание
Универсальный класс для хранения состояния редактора.
Универсальный класс ScriptableSingleton позволяет создавать классы типа «Менеджер» в редакторе Unity. В классах, производных от ScriptableSingleton, сериализуемые данные, которые вы добавляете, сохраняются при перезагрузке сборки в редакторе. Кроме того, если класс использует FilePathAttribute, сериализуемые данные сохраняются между сеансами Unity.
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
[FilePath("SomeSubFolder/StateFile.foo", FilePathAttribute.Location.PreferencesFolder)]
public class MySingleton : ScriptableSingleton
{
[SerializeField]
float m_Number = 42;
[SerializeField]
List m_Strings = new List();
public void Modify()
{
m_Number *= 2;
m_Strings.Add("Foo" + m_Number);
Save(true);
Debug.Log("Saved to: " + GetFilePath());
}
public void Log()
{
Debug.Log("MySingleton state: " + JsonUtility.ToJson(this, true));
}
}
static class MySingletonMenuItems
{
[MenuItem("SingletonTest/Log")]
static void LogMySingletonState()
{
MySingleton.instance.Log();
}
[MenuItem("SingletonTest/Modify")]
static void ModifyMySingletonState()
{
MySingleton.instance.Modify();
}
}
Статические Свойства
instance |
Получает экземпляр Singleton. Unity создает экземпляр Singleton при первом доступе к этому свойству. Если вы используете атрибут FilePathAttribute, Unity также загружает данные при первом доступе. |
Защищенные методы
Save |
Сохраняет текущее состояние ScriptableSingleton. |
Статические Методы
GetFilePath |
Получите путь к файлу, в котором сохранен этот ScriptableSingleton. |
Унаследованные члены
Свойства
hideFlags |
Должен ли объект быть скрыт, сохранен вместе со сценой или изменен пользователем? |
name |
Название объекта. |
Публичные Методы
Статические Методы
Операторы
bool |
Объект существует? |
operator != |
Сравнивает, ссылаются ли два объекта на другой объект. |
operator == |
Сравнивает две ссылки на объекты, чтобы определить, ссылаются ли они на один и тот же объект. |
Сообщения
Awake |
Эта функция вызывается при запуске сценария ScriptableObject. |
OnDestroy |
Эта функция вызывается, когда объект сценария будет уничтожен. |
OnDisable |
Эта функция вызывается, когда объект сценария выходит за пределы области видимости. |
OnEnable |
Эта функция вызывается при загрузке объекта. |
OnValidate |
Функция только для редактора, которую Unity вызывает при загрузке скрипта или изменении значения в Инспекторе. |
Reset |
Сбросить значения по умолчанию. |