Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }