using System.Collections.Generic;
namespace MonoGame.Extended.Collisions;
///
/// Interface, which split space for optimization of collisions.
///
public interface ISpaceAlgorithm
{
///
/// Inserts the actor into the space.
/// The actor will have its OnCollision called when collisions occur.
///
/// Actor to insert.
void Insert(ICollisionActor actor);
///
/// Removes the actor into the space.
///
/// Actor to remove.
bool Remove(ICollisionActor actor);
///
/// Removes the actor into the space.
/// The actor will have its OnCollision called when collisions occur.
///
/// Actor to remove.
IEnumerable Query(RectangleF boundsBoundingRectangle);
///
/// for foreach
///
///
List.Enumerator GetEnumerator();
///
/// Restructure the space with new positions.
///
void Reset();
}