PackedEntityState
Чтение сохранённых записей Entity, свойств и соединений.
PackedEntityState читают через PackedEntity.GetState(). Это сохранённые записи, не живые Entity и не полный список свойств engine-класса. Индексы Entity, свойств и соединений относятся к разным диапазонам; GetEntityIndex() возвращает отдельную позицию среди соседей.
Относительные EntityPath разрешаются в соответствующем экземпляре иерархии. Корневой путь — точка; путь родителя/Owner корня может быть пустым. GetEntityType() сообщает native-класс, не обязательно имя C# скрипта.
State общий с владельцем: повторный Pack или ResetState может изменить видимые записи. Возвращаемые Variant/Array требуют обычного освобождения собственных wrappers; содержащиеся общие Resource и Entity не становятся независимыми копиями.
Уровни и префабы. Проверены обычные записи и соединение C#-метода без bound-аргументов. Положительные ветви наследования/placeholder и неверные индексы сверены по исходникам, но не исполнены.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Методы23
GetBaseSceneStatePackedEntityState
public PackedEntityState GetBaseSceneState();Возвращает state базового унаследованного уровня/префаба либо null без такой основы. Это не родитель Entity и не state любого вложенного экземпляра. Положительная ветвь наследования здесь разобрана по исходникам, без отдельного runtime-графа.
PackedEntityStateОбщий state основы либо null.
GetConnectionBindsReckfell.Collections.Array
public Reckfell.Collections.Array GetConnectionBinds(int idx);Возвращает новый Array сохранённых bound-аргументов соединения. Изменение этого контейнера не переписывает state; вложенные Resource всё ещё могут быть общими. Это не аргументы последнего испускания сигнала. В C# освободите собственный Array после чтения. Проверена пустая bind-запись и независимость контейнера; непустой bind payload не исполнялся.
| Имя | Тип | По умолчанию |
|---|---|---|
idx | int | — |
idxИндекс соединения от 0 до GetConnectionCount()−1.
Reckfell.Collections.ArrayНовый Array сохранённых bind-значений.
GetConnectionCountint
public int GetConnectionCount();Число сохранённых записей соединений в этом state, не всех подписок текущей игры. Индексы соединений обходите от 0 до count−1. Runtime-подписки без Persist не обязаны присутствовать.
intЧисло записей соединений, не число live-подписчиков.
GetConnectionFlagsint
public int GetConnectionFlags(int idx);Сохранённая битовая маска ConnectFlags соединения. Проверяйте флаги побитово, не как единственное взаимоисключающее значение. Неверный индекс даёт native-диагностику и −1; такой результат не является корректной маской.
| Имя | Тип | По умолчанию |
|---|---|---|
idx | int | — |
idxИндекс соединения от 0 до GetConnectionCount()−1.
intБитовая маска либо −1 при неверном индексе.
GetConnectionMethodStringName
public StringName GetConnectionMethod(int idx);Имя сохраняемого метода целевого объекта, не C# delegate. Имя само по себе не доказывает доступный метод или правильную сигнатуру после изменения скрипта.
| Имя | Тип | По умолчанию |
|---|---|---|
idx | int | — |
idxИндекс соединения от 0 до GetConnectionCount()−1.
StringNameИмя метода либо пустое значение при неверном индексе.
GetConnectionSignalStringName
public StringName GetConnectionSignal(int idx);Имя сохранённого сигнала источника. Это метаданные, не выполнение сигнала или подтверждение его существования в изменённом классе.
| Имя | Тип | По умолчанию |
|---|---|---|
idx | int | — |
idxИндекс соединения от 0 до GetConnectionCount()−1.
StringNameИмя сигнала либо пустое значение при неверном индексе.
GetConnectionSourceEntityPath
public EntityPath GetConnectionSource(int idx);Относительный EntityPath источника сохранённого соединения. Разрешайте относительно соответствующего экземпляра иерархии, не произвольного EntityTree.Root. Неверный индекс даёт пустой путь и диагностику.
| Имя | Тип | По умолчанию |
|---|---|---|
idx | int | — |
idxИндекс соединения от 0 до GetConnectionCount()−1.
EntityPathОтносительный путь источника, не живая Entity.
GetConnectionTargetEntityPath
public EntityPath GetConnectionTarget(int idx);Относительный EntityPath целевого объекта сохранённого соединения. Не готовая живая Entity и не OS-путь. Доступность цели проверяйте после создания нужного экземпляра.
| Имя | Тип | По умолчанию |
|---|---|---|
idx | int | — |
idxИндекс соединения от 0 до GetConnectionCount()−1.
EntityPathОтносительный путь цели, не живая Entity.
GetConnectionUnbindsint
public int GetConnectionUnbinds(int idx);Число аргументов сигнала, отбрасываемых адаптером соединения до вызова метода. Не размер GetConnectionBinds. Для обычного соединения без Unbind равно 0; неверный индекс даёт −1 с диагностикой. Ненулевой adapter здесь проверен только по исходникам.
| Имя | Тип | По умолчанию |
|---|---|---|
idx | int | — |
idxИндекс соединения от 0 до GetConnectionCount()−1.
intЧисло отбрасываемых аргументов либо −1 для неверного индекса.
GetEntityCountint
public int GetEntityCount();Число собственных сохранённых записей Entity. Не счётчик всех живых объектов после инстанцирования: вложенные/унаследованные части могут храниться через отдельные references, а неподходящие Owner-потомки отсутствовать.
intЧисло собственных сохранённых записей Entity.
GetEntityGroupsstring[]
public string[] GetEntityGroups(int idx);Возвращает копию имён сохраняемых групп указанной записи. Не все временные runtime-группы. Изменение массива не меняет state или живую Entity.
| Имя | Тип | По умолчанию |
|---|---|---|
idx | int | — |
idxИндекс записи Entity от 0 до GetEntityCount()−1; не результат GetEntityIndex.
string[]Массив сохраняемых имён групп; может быть пустым.
GetEntityIndexint
public int GetEntityIndex(int idx);Сохранённая позиция среди соседей, отдельная от idx записи в state. Может быть −1, когда позиция не задана явно; не используйте результат как индекс для других GetEntity-методов. При неверном idx также возвращается −1, но с диагностикой.
| Имя | Тип | По умолчанию |
|---|---|---|
idx | int | — |
idxИндекс записи Entity от 0 до GetEntityCount()−1; не результат GetEntityIndex.
intПозиция среди соседей либо −1; не idx записи.
GetEntityInstancePackedEntity
public PackedEntity GetEntityInstance(int idx);Возвращает ссылку PackedEntity вложенного экземпляра, либо основы у корневой записи наследования. Для обычной Entity и placeholder возвращает null. Не создаёт живую иерархию; это может быть общий ресурс, не Dispose его пока state его использует. Положительные nested/inherited branches здесь source-only.
| Имя | Тип | По умолчанию |
|---|---|---|
idx | int | — |
idxИндекс записи Entity от 0 до GetEntityCount()−1; не результат GetEntityIndex.
PackedEntityОбщий PackedEntity-ссылка либо null.
GetEntityInstancePlaceholderstring
public string GetEntityInstancePlaceholder(int idx);Возвращает строку пути отложенного placeholder-экземпляра. Пустая строка для обычной записи. Чтение не загружает и не создаёт placeholder; наличие строки не доказывает доступный файл. Положительный placeholder-сценарий здесь не выполнялся.
| Имя | Тип | По умолчанию |
|---|---|---|
idx | int | — |
idxИндекс записи Entity от 0 до GetEntityCount()−1; не результат GetEntityIndex.
stringСтрока placeholder-пути либо пустое значение.
GetEntityNameStringName
public StringName GetEntityName(int idx);Сохранённое имя записи, не глобально уникальный ID и не текущий Name уже переименованного runtime-объекта.
| Имя | Тип | По умолчанию |
|---|---|---|
idx | int | — |
idxИндекс записи Entity от 0 до GetEntityCount()−1; не результат GetEntityIndex.
StringNameСохранённое имя StringName.
GetEntityOwnerPathEntityPath
public EntityPath GetEntityOwnerPath(int idx);Относительный путь сохраняемого Owner, отдельный от пути родителя. У корня обычно пустой; у обычного потомка с Owner=корень — точка. Owner задаёт область сохранения, не владение памятью вместо parent/child.
| Имя | Тип | По умолчанию |
|---|---|---|
idx | int | — |
idxИндекс записи Entity от 0 до GetEntityCount()−1; не результат GetEntityIndex.
EntityPathОтносительный путь Owner; у корня обычно пустой.
GetEntityPathEntityPath
public EntityPath GetEntityPath(int idx, bool forParent = false);Строит относительный путь записи внутри иерархии. Корень при forParent=false — точка; для его родителя — пусто. forParent=true исключает имя самой записи. Результат не является файловым путём или гарантией существующей Entity до Instantiate.
| Имя | Тип | По умолчанию |
|---|---|---|
idx | int | — |
forParent | bool | false |
idxИндекс записи Entity от 0 до GetEntityCount()−1; не результат GetEntityIndex.
forParentTrue возвращает путь родителя записи; false — самой записи.
EntityPathОтносительный путь записи или её родителя.
GetEntityPropertyCountint
public int GetEntityPropertyCount(int idx);Число сохраняемых значений/переопределений этой записи. Не полный список свойств её engine-класса: значения по умолчанию могут отсутствовать. propIdx обходите отдельно для каждого idx.
| Имя | Тип | По умолчанию |
|---|---|---|
idx | int | — |
idxИндекс записи Entity от 0 до GetEntityCount()−1; не результат GetEntityIndex.
intЧисло сохраняемых свойств; −1 при неверном idx.
GetEntityPropertyNameStringName
public StringName GetEntityPropertyName(int idx, int propIdx);Имя сохраняемого свойства по паре индексов Entity/свойства. Не C# имя свойства после автоматического преобразования и не разрешение значения на живом объекте. Для неверного индекса — пустое StringName с диагностикой.
| Имя | Тип | По умолчанию |
|---|---|---|
idx | int | — |
propIdx | int | — |
idxИндекс записи Entity от 0 до GetEntityCount()−1; не результат GetEntityIndex.
propIdxИндекс свойства от 0 до GetEntityPropertyCount(idx)−1, не индекс Entity.
StringNameСохраняемое имя свойства либо пустой StringName.
GetEntityPropertyValueVariant
public Variant GetEntityPropertyValue(int idx, int propIdx);Возвращает сохранённый Variant, не текущее значение созданной Entity. Nil может быть допустимым значением; неверный индекс тоже даёт Nil с диагностикой. Resource внутри Variant может быть общим. Dispose собственный Variant после чтения, но не освобождайте заимствованные Entity/общие Resource.
| Имя | Тип | По умолчанию |
|---|---|---|
idx | int | — |
propIdx | int | — |
idxИндекс записи Entity от 0 до GetEntityCount()−1; не результат GetEntityIndex.
propIdxИндекс свойства от 0 до GetEntityPropertyCount(idx)−1, не индекс Entity.
VariantСобственный Variant с сохранённым значением, возможно Nil.
GetEntityTypeStringName
public StringName GetEntityType(int idx);Возвращает имя native engine-класса. C# scripted Entity может сообщать Entity, а не имя managed-класса. Для записи из вложенной/унаследованной иерархии тип может быть пустым; неверный индекс также даёт пустое значение с диагностикой.
| Имя | Тип | По умолчанию |
|---|---|---|
idx | int | — |
idxИндекс записи Entity от 0 до GetEntityCount()−1; не результат GetEntityIndex.
StringNameИмя native-класса либо пустое значение.
GetPathstring
public string GetPath();Путь исходного PackedEntity, переданный в state; пустой для ещё не назначенного пути. Это не путь корневой Entity. Назначение ResourcePath может изменить его без записи файла.
stringПуть исходного ресурса либо пустая строка.
IsEntityInstancePlaceholderbool
public bool IsEntityInstancePlaceholder(int idx);Проверяет сохранённый флаг placeholder записи. False не гарантирует обычный native-тип: запись может ссылаться на вложенный PackedEntity. Не загружает объект и не проверяет файл; неверный idx также даёт false с диагностикой.
| Имя | Тип | По умолчанию |
|---|---|---|
idx | int | — |
idxИндекс записи Entity от 0 до GetEntityCount()−1; не результат GetEntityIndex.
boolФлаг записи; неверный индекс также даёт false с диагностикой.
PackedEntityState.GenEditState
| Значение | Описание |
|---|---|
Disabled = 0 | Если передано в |
Instance = 1 | Если передано в |
Main = 2 | Если передано в |
MainInherited = 3 | Если передано в |