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