public void LoopStart() { if (!deleted.IsEmpty) { for (int i = 0, j = deleted.Size; j > i; i++) { Entity e = deleted.Get(i); entityManager.Remove(e); groupManager.Remove(e); e.DeletingState = false; } deleted.Clear(); } if (!refreshed.IsEmpty) { for (int i = 0, j = refreshed.Size; j > i; i++) { Entity e = refreshed.Get(i); entityManager.Refresh(e); e.RefreshingState = false; } refreshed.Clear(); } }
/** * Delete the provided entity from the world. * @param e entity */ public void DeleteEntity(Entity e) { groupManager.Remove(e); if (!deleted.Contains(e)) { deleted.Add(e); } }