private static IEnumerable <IAgentPointer> IterateBackward(this IAgentPointer current) { while (current != null) { yield return(current); current = current.Previous; } }
private static IEnumerable <IAgentPointer> IterateForward(this IAgentPointer current) { while (current != null) { yield return(current); current = current.Next; } }
void IAgentChain.Exit(IAgentPointer agent) => Exit((LinkedAgentPointer)agent);
public static void Disconnect(this IAgentPointer currentPointer) => currentPointer?.Chain?.Exit(currentPointer);
public AgentState(int pathIndex, float progress, IAgentPointer pointer) : this() { PathIndex = pathIndex; Progress = progress; Pointer = pointer; }