ScriptableSingleton<T0>
класс в UnityEditor
Наследуется от:ScriptableObject
Описание
Обобщённый класс для хранения состояния редактора.
Обобщённый класс ScriptableSingleton позволяет создавать в Unity Editor классы типа «менеджер». В классах, производных от ScriptableSingleton, добавленные вами сериализуемые данные переживают перезагрузку сборок в редакторе. Кроме того, если класс использует FilePathAttribute, сериализируемые данные сохраняются между сессиями Unity.
using System.Collections.Generic; using UnityEditor; using UnityEngine;
[FilePath("SomeSubFolder/StateFile.foo", FilePathAttribute.Location.PreferencesFolder)] public class MySingleton : ScriptableSingleton<MySingleton> { [SerializeField] float m_Number = 42;
[SerializeField] List<string> m_Strings = new List<string>();
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. |
Унаследованные члены 5
Свойства
| Свойство | Описание |
|---|---|
| hideFlags | Должен ли объект быть скрытым, сохраняться с Scene или изменяться пользователем? |
| name | Имя объекта. |
Открытые методы
| Метод | Описание |
|---|---|
| GetInstanceID | Получает экземпляр ID объекта. |
| ToString | Возвращает имя объекта. |
Статические методы
| Метод | Описание |
|---|---|
| Destroy | Удаляет GameObject, компонент или ресурс. |
| DestroyImmediate | Немедленно уничтожает указанный объект. Используйте с осторожностью и только в режиме редактирования. |
| DontDestroyOnLoad | Не уничтожать целевой Объект при загрузке нового Scene. |
| FindAnyObjectByType | Получает любой активный загруженный объект типа Type. |
| FindFirstObjectByType | Получает первый активный загруженный объект типа Type. |
| FindObjectsByType | Получает список всех загруженных объектов типа Type. |
| Instantiate | Клонирует исходный объект и возвращает клон. |
| InstantiateAsync | Захватывает моментальный снимок первоначального объекта (который должен быть связан с каким-либо GameObject) и возвращает AsyncInstantiateOperation. |
| CreateInstance | Создает экземпляр скриптового объекта. |
Операторы
| Оператор | Описание |
|---|---|
| bool | Существует ли объект? |
| оператор!= | Сравнивает, если два объекта ссылаются на разные объекты. |
| оператор == | Сравнение двух ссылок на объекты для определения того, относятся ли они к одному и тому же объекту. |
Сообщения
| Сообщение | Описание |
|---|---|
| Awake | Вызывается при создании экземпляра ScriptableObject. |
| OnDestroy | Эта функция вызывается, когда скриптовый объект будет уничтожен. |
| OnDisable | Эта функция вызывается, когда скриптовый объект выходит за пределы области действия. |
| OnEnable | Эта функция вызывается при загрузке объекта. |
| OnValidate | Функция только для редактора, которую вызывает Unity при загрузке скрипта или изменении значения в Inspector. |
| Reset | Сброс значений по умолчанию. |