public CollisionManager()
        {
            _listPool = new ResourcePool<List<ICollidable>>();
            _candidatePairs = new Dictionary<ICollidable, List<ICollidable>>();
            _empty = new List<ICollidable>();

            _sweep = new SelectiveSweep();
            _sweep.Collision += CollisionHandler;
        }
        public EntityCollisionManager()
        {
            _collidableMap = new Dictionary<Entity, ICollidable>();
            _entityMap = new Dictionary<ICollidable, Entity>();

            _listPool = new ResourcePool<List<Entity>>();
            _candidatePairs = new Dictionary<Entity, List<Entity>>();
            _empty = new List<Entity>();

            _sweep = new SelectiveSweep();
            _sweep.Collision += CollisionHandler;
        }