reckfellENGINE

ClassDB

Реестр нативных классов, наследования и зарегистрированного API.

На этой странице
class ClassDBReckfellSharp

ClassDB описывает нативные классы текущей сборки и их привязанные члены. Наличие класса, публичность, включённость и создание — разные проверки. Это не дерево экземпляров Entity и не реестр произвольных классов CLR.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Свойства1

SingletonСвойство
# Singleton
C#
public static ClassDBInstance Singleton { get; }

Методы32

CanInstantiatebool
# CanInstantiate
C#
public static bool CanInstantiate(StringName @class);

Проверяет возможность создания класса через ClassDB в текущем контексте. Абстрактный DocsNativeProbe зарегистрирован, но проверка возвращает false. Это не фабрика и не проверка готовности игрового объекта.

Параметры
ИмяТипПо умолчанию
classStringName—
class

Зарегистрированное имя класса; для неизвестного имени сначала используйте ClassExists.

Возвращает bool

true, если создание разрешено; false для проверенного абстрактного класса. Неизвестный класс также сообщает ошибку и даёт false.

ClassCallStatic2 перегрузки
# ClassCallStatic · 1/2
C#
public static Variant ClassCallStatic(StringName @class, StringName method, params Variant[] args);

Вызывает статический метод класса.

Параметры
ИмяТипПо умолчанию
classStringName—
methodStringName—
argsVariant[]—
Возвращает Variant
# ClassCallStatic · 2/2
C#
public static Variant ClassCallStatic(StringName @class, StringName method, ReadOnlySpan<Variant> args);

Вызывает статический метод класса.

Параметры
ИмяТипПо умолчанию
classStringName—
methodStringName—
argsReadOnlySpan<Variant>—
Возвращает Variant
ClassExistsbool
# ClassExists
C#
public static bool ClassExists(StringName @class);

Проверяет регистрацию имени нативного класса. Загруженное расширение может добавить имя, а выгрузка — убрать его. Наличие имени не означает возможность создать экземпляр.

Параметры
ИмяТипПо умолчанию
classStringName—
class

Точное зарегистрированное имя класса, например DocsNativeProbe.

Возвращает bool

true для зарегистрированного имени. В проверке значение сменилось на false после выгрузки DLL.

ClassGetApiTypeClassDB.ApiType
# ClassGetApiType
C#
public static ClassDB.ApiType ClassGetApiType(StringName @class);

Возвращает тип API указанного class.

Параметры
ИмяТипПо умолчанию
classStringName—
Возвращает ClassDB.ApiType
ClassGetEnumConstantsstring[]
# ClassGetEnumConstants
C#
public static string[] ClassGetEnumConstants(StringName @class, StringName @enum, bool noInheritance = false);

Возвращает массив со всеми ключами в enum class или его предке.

Параметры
ИмяТипПо умолчанию
classStringName—
enumStringName—
noInheritanceboolfalse
Возвращает string[]
ClassGetEnumListstring[]
# ClassGetEnumList
C#
public static string[] ClassGetEnumList(StringName @class, bool noInheritance = false);

Возвращает массив со всеми перечислениями class или его предков.

Параметры
ИмяТипПо умолчанию
classStringName—
noInheritanceboolfalse
Возвращает string[]
ClassGetIntegerConstantlong
# ClassGetIntegerConstant
C#
public static long ClassGetIntegerConstant(StringName @class, StringName name);

Читает зарегистрированную целочисленную константу класса. Подходит для проверки значений, переданных расширением через ABI; не создаёт экземпляр класса.

Параметры
ИмяТипПо умолчанию
classStringName—
nameStringName—
class

Имя класса, в котором ищется константа.

name

Точное имя константы, например ProductVersion.

Возвращает long

Зарегистрированное int64-значение; проверены 10000 и 22. Если константа не найдена, сообщает ошибку и возвращает 0: ноль не подтверждает её наличие.

ClassGetIntegerConstantEnumStringName
# ClassGetIntegerConstantEnum
C#
public static StringName ClassGetIntegerConstantEnum(StringName @class, StringName name, bool noInheritance = false);

Возвращает значения, перечисляющие целочисленную константу name из class или ее предка.

Параметры
ИмяТипПо умолчанию
classStringName—
nameStringName—
noInheritanceboolfalse
Возвращает StringName
ClassGetIntegerConstantListstring[]
# ClassGetIntegerConstantList
C#
public static string[] ClassGetIntegerConstantList(StringName @class, bool noInheritance = false);

Возвращает массив с именами всех целочисленных констант class или его предков.

Параметры
ИмяТипПо умолчанию
classStringName—
noInheritanceboolfalse
Возвращает string[]
ClassGetMethodArgumentCountint
# ClassGetMethodArgumentCount
C#
public static int ClassGetMethodArgumentCount(StringName @class, StringName method, bool noInheritance = false);

Возвращает число объявленных аргументов обычного привязанного метода, не только обязательных. Ноль также возвращается, если метод не найден; отдельно проверяйте ClassHasMethod.

Параметры
ИмяТипПо умолчанию
classStringName—
methodStringName—
noInheritanceboolfalse
class

Точное нативное имя зарегистрированного класса.

method

Нативное имя обычного привязанного метода, например get_instance_id.

noInheritance

True — только объявления этого класса; false — с предками.

Возвращает int

Число объявленных аргументов; 0 неоднозначен без проверки существования.

ClassGetMethodListReckfell.Collections.Array<Reckfell.Collections.Dictionary>
# ClassGetMethodList
C#
public static Reckfell.Collections.Array<Reckfell.Collections.Dictionary> ClassGetMethodList(StringName @class, bool noInheritance = false);

Возвращает словари метаданных зарегистрированных методов класса. По умолчанию включает предков; noInheritance=true ограничивает объявления текущим классом. Это не CLR reflection и не полный набор специальных языковых операций.

Параметры
ИмяТипПо умолчанию
classStringName—
noInheritanceboolfalse
class

Точное нативное имя зарегистрированного класса.

noInheritance

True — только объявления этого класса; false — с предками.

Возвращает Reckfell.Collections.Array<Reckfell.Collections.Dictionary>

Коллекция словарей зарегистрированных методов.

ClassGetPropertyVariant
# ClassGetProperty
C#
public static Variant ClassGetProperty(ReckfellObject @object, StringName property);

Читает значение конкретного объекта через нативный get_native, не через скриптовые свойства CLR. Это значение экземпляра, не default класса; для скрипта используйте Object.Get.

Параметры
ИмяТипПо умолчанию
objectReckfellObject—
propertyStringName—
object

Живой объект, значение свойства которого читается или изменяется.

property

Нативное имя свойства, например position.

Возвращает Variant

Текущее значение свойства переданного объекта.

ClassGetPropertyDefaultValueVariant
# ClassGetPropertyDefaultValue
C#
public static Variant ClassGetPropertyDefaultValue(StringName @class, StringName property);

Возвращает значение по умолчанию property из class или его родительских классов.

Параметры
ИмяТипПо умолчанию
classStringName—
propertyStringName—
Возвращает Variant
ClassGetPropertyGetterStringName
# ClassGetPropertyGetter
C#
public static StringName ClassGetPropertyGetter(StringName @class, StringName property);

Возвращает нативное имя getter зарегистрированного свойства, например get_position. Это не имя свойства или метода оболочки C# в PascalCase.

Параметры
ИмяТипПо умолчанию
classStringName—
propertyStringName—
class

Точное нативное имя зарегистрированного класса.

property

Нативное имя свойства, например position.

Возвращает StringName

Нативное имя getter свойства.

ClassGetPropertyListReckfell.Collections.Array<Reckfell.Collections.Dictionary>
# ClassGetPropertyList
C#
public static Reckfell.Collections.Array<Reckfell.Collections.Dictionary> ClassGetPropertyList(StringName @class, bool noInheritance = false);

Возвращает зарегистрированные описания свойств класса с флагами и hints. Для динамических свойств/скрипта конкретного объекта используйте его GetPropertyList.

Параметры
ИмяТипПо умолчанию
classStringName—
noInheritanceboolfalse
class

Точное нативное имя зарегистрированного класса.

noInheritance

True — только объявления этого класса; false — с предками.

Возвращает Reckfell.Collections.Array<Reckfell.Collections.Dictionary>

Коллекция словарей зарегистрированных свойств.

ClassGetPropertySetterStringName
# ClassGetPropertySetter
C#
public static StringName ClassGetPropertySetter(StringName @class, StringName property);

Возвращает нативное имя setter зарегистрированного свойства, например set_position. Сверяйте наличие свойства и подходящие аргументы перед динамическим вызовом.

Параметры
ИмяТипПо умолчанию
classStringName—
propertyStringName—
class

Точное нативное имя зарегистрированного класса.

property

Нативное имя свойства, например position.

Возвращает StringName

Нативное имя setter свойства.

ClassGetSignalReckfell.Collections.Dictionary
# ClassGetSignal
C#
public static Reckfell.Collections.Dictionary ClassGetSignal(StringName @class, StringName signal);

Возвращает данные signal class или его предка. Возвращаемое значение — Reckfell.Collections.Dictionary со следующими ключами: args, default_args, flags, id, name, return: (class_name, hint, hint_string, name, type, usage).

Параметры
ИмяТипПо умолчанию
classStringName—
signalStringName—
Возвращает Reckfell.Collections.Dictionary
ClassGetSignalListReckfell.Collections.Array<Reckfell.Collections.Dictionary>
# ClassGetSignalList
C#
public static Reckfell.Collections.Array<Reckfell.Collections.Dictionary> ClassGetSignalList(StringName @class, bool noInheritance = false);

Возвращает зарегистрированные сигналы класса и, по умолчанию, предков. Пользовательские сигналы отдельного экземпляра не становятся объявлениями ClassDB.

Параметры
ИмяТипПо умолчанию
classStringName—
noInheritanceboolfalse
class

Точное нативное имя зарегистрированного класса.

noInheritance

True — только объявления этого класса; false — с предками.

Возвращает Reckfell.Collections.Array<Reckfell.Collections.Dictionary>

Коллекция словарей зарегистрированных сигналов.

ClassHasEnumbool
# ClassHasEnum
C#
public static bool ClassHasEnum(StringName @class, StringName name, bool noInheritance = false);

Возвращает, имеет ли class или его предок перечисление с именем name или нет.

Параметры
ИмяТипПо умолчанию
classStringName—
nameStringName—
noInheritanceboolfalse
Возвращает bool
ClassHasIntegerConstantbool
# ClassHasIntegerConstant
C#
public static bool ClassHasIntegerConstant(StringName @class, StringName name);

Возвращает, имеет ли class или его предок целочисленную константу с именем name или нет.

Параметры
ИмяТипПо умолчанию
classStringName—
nameStringName—
Возвращает bool
ClassHasMethodbool
# ClassHasMethod
C#
public static bool ClassHasMethod(StringName @class, StringName method, bool noInheritance = false);

Проверяет обычный зарегистрированный метод класса с учётом noInheritance. Для экземпляра со скриптом и специальных динамических операций используйте соответствующий объектный API.

Параметры
ИмяТипПо умолчанию
classStringName—
methodStringName—
noInheritanceboolfalse
class

Точное нативное имя зарегистрированного класса.

method

Нативное имя обычного привязанного метода, например get_instance_id.

noInheritance

True — только объявления этого класса; false — с предками.

Возвращает bool

True при найденном обычном методе в выбранной области.

ClassHasSignalbool
# ClassHasSignal
C#
public static bool ClassHasSignal(StringName @class, StringName signal);

Проверяет зарегистрированный сигнал класса с наследованием. Для динамического пользовательского сигнала отдельного объекта используйте HasSignal/HasUserSignal этого объекта.

Параметры
ИмяТипПо умолчанию
classStringName—
signalStringName—
class

Точное нативное имя зарегистрированного класса.

signal

Имя зарегистрированного сигнала.

Возвращает bool

True при найденном зарегистрированном сигнале.

ClassSetPropertyError
# ClassSetProperty
C#
public static Error ClassSetProperty(ReckfellObject @object, StringName property, Variant value);

Записывает свойство конкретного объекта через нативный set_native. Скриптовое свойство может вернуть Error.Unavailable; используйте Object.Set для скриптового пути. Default класса не меняется.

Параметры
ИмяТипПо умолчанию
objectReckfellObject—
propertyStringName—
valueVariant—
object

Живой объект, значение свойства которого читается или изменяется.

property

Нативное имя свойства, например position.

value

Совместимое значение Variant для setter объекта.

Возвращает Error

Error.Ok при успешном присваивании, иначе код ошибки.

GetClassListstring[]
# GetClassList
C#
public static string[] GetClassList();

Возвращает имена нативных классов текущего реестра. Набор зависит от сборки и загруженных расширений; это не перечень всех классов CLR. Для собственного отображения сортируйте явно.

Возвращает string[]

Массив нативных имён текущего реестра.

GetInheritersFromClassstring[]
# GetInheritersFromClass
C#
public static string[] GetInheritersFromClass(StringName @class);

Возвращает прямых и косвенных наследников нативного класса без самой базы. Для одного уровня фильтруйте по GetParentClass; не путайте наследование с родителями Entity в дереве.

Параметры
ИмяТипПо умолчанию
classStringName—
class

Точное нативное имя зарегистрированного класса.

Возвращает string[]

Имена прямых и косвенных наследников без самой базы.

GetParentClassStringName
# GetParentClass
C#
public static StringName GetParentClass(StringName @class);

Читает непосредственный базовый класс в реестре типов. Это не родительская Entity игрового экземпляра и не его Owner.

Параметры
ИмяТипПо умолчанию
classStringName—
class

Имя зарегистрированного класса.

Возвращает StringName

StringName базового класса; для DocsNativeProbe проверено Entity.

InstantiateVariant
# Instantiate
C#
public static Variant Instantiate(StringName @class);

Создаёт экземпляр зарегистрированного нативного класса. Сначала проверяйте ClassExists и CanInstantiate; результат не подключает скрипт CLR и не инстанцирует префаб. За дальнейшее владение отвечает вызывающая сторона.

Параметры
ИмяТипПо умолчанию
classStringName—
class

Точное нативное имя зарегистрированного класса.

Возвращает Variant

Variant с созданным объектом; при неудаче результат не содержит пригодного экземпляра.

IsClassEnabledbool
# IsClassEnabled
C#
public static bool IsClassEnabled(StringName @class);

Проверяет включённость зарегистрированного класса. Это не проверка публичности, наличия создателя или типа скрипта. Для неизвестного имени сначала используйте ClassExists.

Параметры
ИмяТипПо умолчанию
classStringName—
class

Точное нативное имя зарегистрированного класса.

Возвращает bool

True для включённого класса.

IsClassEnumBitfieldbool
# IsClassEnumBitfield
C#
public static bool IsClassEnumBitfield(StringName @class, StringName @enum, bool noInheritance = false);

Возвращает, имеет ли class (или его предковые классы, если no_inheritance равен false) перечисление с именем enum, которое является битовым полем.

Параметры
ИмяТипПо умолчанию
classStringName—
enumStringName—
noInheritanceboolfalse
Возвращает bool
IsClassExposedbool
# IsClassExposed
C#
public static bool IsClassExposed(StringName @class);

Проверяет публичность нативного класса в реестре. Публичный абстрактный класс может не создаваться; отдельно используйте CanInstantiate.

Параметры
ИмяТипПо умолчанию
classStringName—
class

Точное нативное имя зарегистрированного класса.

Возвращает bool

True для публично предоставленного класса.

IsParentClassbool
# IsParentClass
C#
public static bool IsParentClass(StringName @class, StringName inherits);

Проверяет, является ли inherits нативной базой class. Первый аргумент — проверяемый производный класс. Одинаковые имена в этой реализации также дают true.

Параметры
ИмяТипПо умолчанию
classStringName—
inheritsStringName—
class

Точное нативное имя зарегистрированного класса.

inherits

Проверяемая база, не имя дочерней Entity в дереве.

Возвращает bool

True, если class совпадает с inherits или наследует его.

ClassDB.ApiType

ЗначениеОписание
Core = 0

Тип класса Коренное ядро.

Editor = 1

Тип класса Собственного Редактора.

EditorExtension = 3

Тип класса редактора ReckfellExtension.

Extension = 2

Тип класса ReckfellExtension.

None = 4

Неизвестный тип класса.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.