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 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); }