public static ent Create(string prefabID, ModelComposer model, Vector3 position, bool pooled = false) { int id; byte age = 0; if (ent.entityStackLength > 0) { var pop = ent.entityStack.Dequeue(); byte ageOld = pop.age; id = pop.id; unchecked { age = (byte)(ageOld + 1); } ent.entityStackLength--; } else { id = ent.lastID++; } var entity = new ent(id, age); Initialize(id, age, pooled); transforms[id] = pooled ? HelperFramework.SpawnInternal(Pool.Entities, prefabID, position) : HelperFramework.SpawnInternal(prefabID, position); model(entity, null); Delayed.Set(entity, 0, Delayed.Action.Activate); return(entity); }
internal void Launch(ModelComposer model) { int id; byte age = 0; if (ent.entityStackLength > 0) { var pop = ent.entityStack.Dequeue(); byte ageOld = pop.age; id = pop.id; unchecked { age = (byte)(ageOld + 1); } ent.entityStackLength--; } else { id = ent.lastID++; } #if UNITY_EDITOR _entity = id; #endif entity = new ent(id, age); Entity.Initialize(id, age, isPooled); Entity.transforms[id] = transform; Setup(); model(entity, this); Entity.Delayed.Set(entity, 0, Entity.Delayed.Action.Activate); }
public static ent CreateFor(GameObject prefab, ModelComposer model, bool pooled = false) { int id; byte age = 0; if (ent.entityStackLength > 0) { var pop = ent.entityStack.Dequeue(); byte ageOld = pop.age; id = pop.id; unchecked { age = (byte)(ageOld + 1); } ent.entityStackLength--; } else { id = ent.lastID++; } var entity = new ent(id, age); Initialize(id, age, pooled); transforms[id] = prefab.transform; model(entity, null); Delayed.Set(entity, 0, Delayed.Action.Activate); return(entity); }
public static ent Create(ModelComposer model) { int id; byte age = 0; if (ent.entityStackLength > 0) { var pop = ent.entityStack.Dequeue(); byte ageOld = pop.age; id = pop.id; unchecked { age = (byte)(ageOld + 1); } ent.entityStackLength--; } else { id = ent.lastID++; } var entity = new ent(id, age); Initialize(id, age); model(entity, null); Delayed.Set(entity, 0, Delayed.Action.Activate); return(entity); }
public ent Create(ModelComposer model) { processorEcs.Create(out var entity); model(entity); processorEcs.SetOperation(entity, -1, ProcessorEcs.Action.Activate); return(entity); }
public static ent Create(ModelComposer model) { int id; byte age = 0; if (ent.entityStackLength > 0) { var pop = ent.entityStack.Dequeue(); byte ageOld = pop.age; id = pop.id; unchecked { age = (byte)(ageOld + 1); } ent.entityStackLength--; } else { id = ent.lastID++; } ent entity; entity.id = id; entity.age = age; Initialize(id, age); model(entity); EntityOperations.Set(entity, -1, EntityOperations.Action.Activate); return(entity); }
public static ent Create(GameObject prefab, ModelComposer model, Vector3 position = default, bool pooled = false) { int id; byte age = 0; if (ent.entityStackLength > 0) { var pop = ent.entityStack.Dequeue(); byte ageOld = pop.age; id = pop.id; unchecked { age = (byte)(ageOld + 1); } ent.entityStackLength--; } else { id = ent.lastID++; } ent entity; entity.id = id; entity.age = age; Initialize(id, age, pooled); transforms[id] = pooled ? Obj.Spawn(Pool.Entities, prefab, position) : Obj.Spawn(prefab, position); model(entity); EntityOperations.Set(entity, -1, EntityOperations.Action.Activate); return(entity); }
public static Actor CreateFor(GameObject obj, ModelComposer model, bool pooled = false) { var actor = obj.transform.AddGetActor(); actor.isPooled = pooled; actor.Launch(model); return(actor); }
public ent Create(string prefabID, ModelComposer model, Vector3 position = default, bool pooled = false) { processorEcs.Create(out var entity, pooled); entity.managed.transform = pooled ? layer.Obj.Create(Pool.Entities, prefabID, position) : layer.Obj.Create(prefabID, position); model(entity); processorEcs.SetOperation(entity, -1, ProcessorEcs.Action.Activate); return(entity); }
public ent CreateFor(GameObject go, ModelComposer model) { processorEcs.Create(out var entity, false); entity.managed.transform = go.transform; model(entity); processorEcs.SetOperation(entity, -1, ProcessorEcs.Action.Activate); return(entity); }
internal ent CreateForActor(Actor actor, ModelComposer model, bool pooled) { processorEcs.Create(out var entity, pooled); entity.managed.transform = actor.transform; model(entity); processorEcs.SetOperation(entity, -1, ProcessorEcs.Action.Activate); return(entity); }
public Actor Create(string prefabID, ModelComposer model, Vector3 position = default, bool pooled = false) { var transform = pooled ? layer.Obj.Create(Pool.Entities, prefabID, position) : layer.Obj.Create(prefabID, position); var actor = transform.GetActor(); actor.BootstrapCreated(layer, model); actor.entity.managed.isPooled = pooled; return(actor); }
public static Actor Create(string prefabID, ModelComposer model, bool pooled = false) { var tr = pooled ? HelperFramework.SpawnInternal(Pool.Entities, prefabID) : HelperFramework.SpawnInternal(prefabID); var actor = tr.AddGetActor(); actor.isPooled = pooled; actor.Launch(model); return(actor); }
public static Actor Create(GameObject prefab, ModelComposer model, Vector3 position, bool pooled = false) { var tr = pooled ? HelperFramework.SpawnInternal(Pool.Entities, prefab, position) : HelperFramework.SpawnInternal(prefab, position); var actor = tr.AddGetActor(); actor.isPooled = pooled; actor.Launch(model); return(actor); }
public static Actor Create(string prefabID, ModelComposer model, Vector3 position = default, bool pooled = false) { var tr = pooled ? Obj.Spawn(Pool.Entities, prefabID, position) : Obj.Spawn(prefabID, position); var actor = tr.AddGetActor(); actor.isPooled = pooled; actor.Launch(model); return(actor); }
public Actor Create(GameObject prefab, ModelComposer model, Vector3 position = default, bool pooled = false) { var transform = pooled ? layer.Obj.Create(Pool.Entities, prefab, position) : layer.Obj.Create(prefab, position); var actor = transform.GetActor(); //actor.isPooled = pooled; actor.BootstrapCreated(layer, model); return(actor); }
internal void BootstrapCreated(Layer layer, ModelComposer model) { Layer = layer; if (!entity.exist) { entity = layer.Entity.CreateForActor(this, model, prefabReferenceName != string.Empty); } #if UNITY_EDITOR _entity = entity.id; #endif Setup(); HandleEnable(); }
internal void BootstrapCreated(Layer layer, ModelComposer model) { Layer = layer; if (!entity.exist) { entity = layer.Entity.CreateForActor(this, model, isPooled); } #if UNITY_EDITOR _entity = entity.id; #endif Setup(); HandleEnable(); }
internal void Launch(ModelComposer model) { int id; byte age = 0; if (ent.entityStackLength > 0) { var pop = ent.entityStack.Dequeue(); byte ageOld = pop.age; id = pop.id; unchecked { age = (byte)(ageOld + 1); } ent.entityStackLength--; } else { id = ent.lastID++; } entity.id = id; entity.age = age; #if UNITY_EDITOR _entity = id; #if ACTORS_DEBUG var utils = GetComponent <ActorUtil>(); if (utils == null) { utils = gameObject.AddComponent <ActorUtil>(); } utils.Setup(entity, isActiveAndEnabled); #endif #endif Entity.Initialize(id, age, isPooled); Entity.transforms[id] = transform; model(entity); Setup(); EntityOperations.Set(entity, -1, EntityOperations.Action.Activate); }