namespace SpriteCompiler.AI { using System.Collections.Generic; public class NodeExpanderDelegator : INodeExpander where T : ISearchNode where C : ICost { private readonly INodeExpander expander; public NodeExpanderDelegator(INodeExpander expander) { this.expander = expander; } public virtual IEnumerable Expand(ISearchProblem problem, T node) { return expander.Expand(problem, node); } public virtual T CreateNode(T parent, S state) { return expander.CreateNode(parent, state); } public virtual T CreateNode(S state) { return expander.CreateNode(state); } } }