|
|
@ -189,20 +189,18 @@ internal class ModuleInfo |
|
|
|
var builder = path.IsAbsolute ? Universe.New(path) : Entity.NewChild(path); |
|
|
|
var builder = path.IsAbsolute ? Universe.New(path) : Entity.NewChild(path); |
|
|
|
if (!type.Has<PrivateAttribute>()) builder.Symbol(path.Name); |
|
|
|
if (!type.Has<PrivateAttribute>()) builder.Symbol(path.Name); |
|
|
|
|
|
|
|
|
|
|
|
foreach (var attr in type.GetMultiple<AddEntityAttribute>()) |
|
|
|
|
|
|
|
builder.Add(Universe.LookupOrThrow(attr.Entity)); |
|
|
|
|
|
|
|
foreach (var attr in type.GetMultiple<AddRelationAttribute>()) |
|
|
|
|
|
|
|
builder.Add(Universe.LookupOrThrow(attr.Relation), Universe.LookupOrThrow(attr.Target)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var entity = builder.Build(); |
|
|
|
var entity = builder.Build(); |
|
|
|
|
|
|
|
|
|
|
|
if (type.Has<SingletonAttribute>()) |
|
|
|
EntityRef Lookup(Type toLookup) |
|
|
|
entity.Add(entity); |
|
|
|
=> (type != toLookup) ? Universe.LookupOrThrow(toLookup) : entity; |
|
|
|
|
|
|
|
foreach (var attr in type.GetMultiple<AddEntityAttribute>()) |
|
|
|
|
|
|
|
entity.Add(Lookup(attr.Entity)); |
|
|
|
|
|
|
|
foreach (var attr in type.GetMultiple<AddRelationAttribute>()) |
|
|
|
|
|
|
|
entity.Add(Lookup(attr.Relation), Lookup(attr.Target)); |
|
|
|
|
|
|
|
|
|
|
|
if (type.Has<ComponentAttribute>()) |
|
|
|
if (type.Has<SingletonAttribute>()) entity.Add(entity); |
|
|
|
entity.CreateComponent(proxyType); |
|
|
|
if (type.Has<ComponentAttribute>()) entity.CreateComponent(proxyType); |
|
|
|
else |
|
|
|
else entity.CreateLookup(proxyType); |
|
|
|
entity.CreateLookup(proxyType); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|