namespace SpriteCompiler.AI
{
using System;
using System.Collections.Generic;
///
/// The NodeExpander class encapsulates a strategy of how the expand one state
/// into its successor states.In the simplest case, a node's state is expanded
/// using a problem-specific sucessor function, new search nodes are created and
/// the list is returned.
///
public interface INodeExpander
where T : ISearchNode
where C : ICost
{
IEnumerable Expand(ISearchProblem problem, T node);
T CreateNode(T parent, S state);
T CreateNode(S state);
}
}