PackedEntity
Упакованная сущность - хранит мета информацию сущности, служит для безопасной передачи сущности (например в событиях, компонентах и тд)
- Представлена в виде структуры размером 8 байт
Сущность это просто id, упакованая сущность это id + version
По id невозможно определить та самая эта сущность что сейчас в мире под этим идентификатором или нет, можно только вместе с версией, для этого упакованая версия
Создание:
// Создание возможно только через незапакованную сущность
PackedEntity packedEntity = entity.Pack();
Основные операции:
PackedEntity packedEntity = entity.Pack();
// Попытаться распаковать сущность в мире идентификатор которого указан через параметр типа, возвращает true если сущность успешно распакована, в out распакованя сущность
if (packedEntity.TryUnpack<WorldType>(out var unpackedEntity)) {
// ...
}
PackedEntity packedEntity2 = entity.Pack();
bool equals = packedEntity.Equals(packedEntity2); // Проверить идентичность упавкованных сущностей