|
|
|
@ -59,7 +59,8 @@ public unsafe sealed class EntityRef |
|
|
|
|
{ if (path?.IsAbsolute == true) throw new ArgumentException("path must not be absolute", nameof(path)); return path; } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public EntityRef? Parent => GetTarget(Universe.ChildOf); |
|
|
|
|
public EntityRef? Parent |
|
|
|
|
=> GetTarget(Universe.ChildOf); |
|
|
|
|
|
|
|
|
|
public IEnumerable<EntityRef> GetChildren() |
|
|
|
|
{ |
|
|
|
@ -163,9 +164,9 @@ public unsafe sealed class EntityRef |
|
|
|
|
public static IdentifierRef operator &(EntityRef relation, Entity target) => IdentifierRef.Pair(relation, target); |
|
|
|
|
public static IdentifierRef operator &(Entity relation, EntityRef target) => IdentifierRef.Pair(relation, target); |
|
|
|
|
|
|
|
|
|
public static implicit operator Entity(EntityRef e) => e.Entity; |
|
|
|
|
public static implicit operator ecs_entity_t(EntityRef e) => e.Entity.Value; |
|
|
|
|
public static implicit operator Entity(EntityRef? e) => e?.Entity ?? default; |
|
|
|
|
public static implicit operator ecs_entity_t(EntityRef? e) => e?.Entity.Value ?? default; |
|
|
|
|
|
|
|
|
|
public static implicit operator Identifier(EntityRef e) => new(e.Entity.Value.Data); |
|
|
|
|
public static implicit operator ecs_id_t(EntityRef e) => e.Entity.Value.Data; |
|
|
|
|
public static implicit operator Identifier(EntityRef? e) => new(e?.Entity.Value.Data ?? default); |
|
|
|
|
public static implicit operator ecs_id_t(EntityRef? e) => e?.Entity.Value.Data ?? default; |
|
|
|
|
} |
|
|
|
|