namespace SpriteCompiler.AI
{
using System.Collections.Generic;
public interface ISearch
where T : ISearchNode
where C : IPathCost
{
/// Perform a new search on the specified search problem using the given
/// initial state as a starting point. The method will return an empty
/// list on failure.
IEnumerable Search(ISearchProblem problem, S initialState);
/**
* Continues to run a search after a solution is found. This can
* be useful for enumerating over all the solutions to a search problem.
*
* @param problem
* @return Sequence of search nodes desribing a solution
*/
IEnumerable ExtendSearch(ISearchProblem problem);
}
}