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

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Сброс значений по умолчанию.