using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SpriteCompiler.AI { public interface ISearchStepInfo { bool IsGoal { get; } T Node { get; } IEnumerable Solution { get; } } public class SearchStepInfo : ISearchStepInfo { private readonly T node; private readonly IEnumerable solution; public SearchStepInfo(T node, IEnumerable solution) { this.solution = solution; this.node = node; } public IEnumerable Solution { get { return solution; } } public bool IsGoal { get { return solution != null; } } public T Node { get { return node; } } } }