2016-11-25 06:05:29 +00:00
|
|
|
|
namespace SpriteCompiler.AI
|
|
|
|
|
{
|
|
|
|
|
using System;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
///
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <typeparam name="A">Action on a node</typeparam>
|
|
|
|
|
/// <typeparam name="S">State of the search</typeparam>
|
|
|
|
|
/// <typeparam name="T">Type of the parent</typeparam>
|
|
|
|
|
/// <typeparam name="C">Cost type</typeparam>
|
2016-11-27 05:39:50 +00:00
|
|
|
|
public interface ISearchNode<A, S, T, C> : ISearchNode<C> where C : IPathCost<C>
|
2016-11-25 06:05:29 +00:00
|
|
|
|
{
|
|
|
|
|
A Action { get; set; }
|
2016-12-05 05:14:51 +00:00
|
|
|
|
C PathCost { get; }
|
2016-11-25 06:05:29 +00:00
|
|
|
|
C StepCost { get; set; }
|
|
|
|
|
int Depth { get; }
|
|
|
|
|
S State { get; }
|
|
|
|
|
T Parent { get; }
|
|
|
|
|
}
|
2016-11-27 05:39:50 +00:00
|
|
|
|
|
|
|
|
|
public interface ISearchNode<C>
|
|
|
|
|
{
|
2016-12-05 05:14:51 +00:00
|
|
|
|
C EstCost { get; }
|
2016-11-27 05:39:50 +00:00
|
|
|
|
}
|
2016-11-25 06:05:29 +00:00
|
|
|
|
}
|