Exemple #1
0
        public void Removing_1()
        {
            StructArray <Entity> entities = new StructArray <Entity>();
            Entity entity = new Entity()
            {
                id = 2, version = 1
            };

            entities.Add(entity);

            entity.id = 3;
            entities.Add(entity);

            entity.id = 2;
            entities.SwapForLast(entity);

            Assert.AreEqual(entities.Count, 1);
        }
Exemple #2
0
        public void DestroyEntity(Entity entity)
        {
            for (int i = 0; i < entities.Count; i++)
            {
                if (entities[i].id == entity.id)
                {
                    entities.SwapForLast(entity);

                    for (int c = 0; c < componentCollections.Length; c++)
                    {
                        ComponentArray collection = componentCollections[c];
                        collection[i] = collection[currentCount - 1];
                    }

                    currentCount--;
                    break;
                }
            }
        }
Exemple #3
0
        public void Removing_2()
        {
            StructArray <Entity> entities = new StructArray <Entity>();
            Entity entity = new Entity();

            entities.Add(entity);

            entity.id = 1;
            entities.Add(entity);

            entity.id = 2;
            entities.Add(entity);

            entity.id = 3;
            entities.Add(entity);

            entities.SwapForLast(0);

            Assert.AreEqual(entities[0].id, 3);
        }