ff::EntityDomain::~EntityDomain()
{
	for (EntityEntry &entityEntry: _entities)
	{
		if (entityEntry._valid)
		{
			DeleteEntity(entityEntry.ToEntity());
		}
	}

	for (SystemEntry &systemEntry: _systems)
	{
		ClearSystem(systemEntry);
	}

	FlushDeletedEntities();
	FlushDeletedSystems();
}
ParticleSystem::~ParticleSystem()
{
    ClearSystem();
    delete odeSolver;
}