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