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); } }