C# Класс Dwarrowdelf.AStar

Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
AStar ( IEnumerable initialLocations, IAStarTarget target ) : System
CanReach ( IEnvironmentObject env, IntVector3 src, IntVector3 dst, DirectionSet dstPositioning ) : bool

Returns if dst can be reached from src

Find ( IEnumerable initLocs, IAStarTarget target, int maxNodeCount = 200000, CancellationToken cancellationToken = null ) : AStarResult

Find route from init locations to destination defined by IAstarTarget

Find ( IEnvironmentObject env, IntVector3 src, DirectionSet srcPositioning, IntVector3 dst, DirectionSet dstPositioning, int maxNodeCount = 200000, CancellationToken cancellationToken = null ) : AStarResult

Find route from src to dst, using the given positionings

Find ( ) : AStarStatus
Find ( IEnvironmentObject env, IntVector3 src, IntVector3 dest, DirectionSet positioning ) : IEnumerable

Find route from src to dest, finding the route in parallel from both directions

Find ( IEnvironmentObject env, IntVector3 src, IntVector3 dest, DirectionSet positioning, IntVector3 &finalLocation ) : IEnumerable

Find route from src to dest, finding the route in parallel from both directions

FindArea ( IEnvironmentObject env, IntVector3 src, DirectionSet srcPositioning, IntGrid3 dstArea, int maxNodeCount = 200000, CancellationToken cancellationToken = null ) : AStarResult

Find route from src to destination area

FindMany ( IEnvironmentObject env, IntVector3 src, DirectionSet srcPositioning, bool>.Func func, int maxNodeCount = 200000, CancellationToken cancellationToken = null ) : IEnumerable
FindMany ( IEnvironmentObject env, IntVector3 src, DirectionSet srcPositioning, IAStarTarget target, int maxNodeCount = 200000, CancellationToken cancellationToken = null ) : IEnumerable
FindNearest ( IEnvironmentObject env, IntVector3 src, bool>.Func func, int maxNodeCount = 200000 ) : AStarResult

Flood-find the nearest location for which func returns true

GetPath ( ) : IEnumerable
GetPathLocationsReverse ( ) : IEnumerable
GetPathNodesReverse ( ) : IEnumerable
GetPathReverse ( ) : IEnumerable

Приватные методы

Метод Описание
CheckNeighbors ( AStarNode parent ) : void
ParallelFind ( IEnvironmentObject env, IntVector3 src, IntVector3 dest, DirectionSet positioning, AStarResult &resBackward, AStarResult &resForward ) : void
UpdateNodes ( AStarNode parent, Stack queue ) : void
UpdateParents ( AStarNode parent ) : void

Описание методов

AStar() публичный Метод

public AStar ( IEnumerable initialLocations, IAStarTarget target ) : System
initialLocations IEnumerable
target IAStarTarget
Результат System

CanReach() публичный статический Метод

Returns if dst can be reached from src
public static CanReach ( IEnvironmentObject env, IntVector3 src, IntVector3 dst, DirectionSet dstPositioning ) : bool
env IEnvironmentObject
src IntVector3
dst IntVector3
dstPositioning DirectionSet
Результат bool

Find() публичный статический Метод

Find route from init locations to destination defined by IAstarTarget
public static Find ( IEnumerable initLocs, IAStarTarget target, int maxNodeCount = 200000, CancellationToken cancellationToken = null ) : AStarResult
initLocs IEnumerable
target IAStarTarget
maxNodeCount int
cancellationToken System.Threading.CancellationToken
Результат AStarResult

Find() публичный статический Метод

Find route from src to dst, using the given positionings
public static Find ( IEnvironmentObject env, IntVector3 src, DirectionSet srcPositioning, IntVector3 dst, DirectionSet dstPositioning, int maxNodeCount = 200000, CancellationToken cancellationToken = null ) : AStarResult
env IEnvironmentObject
src IntVector3
srcPositioning DirectionSet
dst IntVector3
dstPositioning DirectionSet
maxNodeCount int
cancellationToken System.Threading.CancellationToken
Результат AStarResult

Find() публичный Метод

public Find ( ) : AStarStatus
Результат AStarStatus

Find() публичный статический Метод

Find route from src to dest, finding the route in parallel from both directions
public static Find ( IEnvironmentObject env, IntVector3 src, IntVector3 dest, DirectionSet positioning ) : IEnumerable
env IEnvironmentObject
src IntVector3
dest IntVector3
positioning DirectionSet
Результат IEnumerable

Find() публичный статический Метод

Find route from src to dest, finding the route in parallel from both directions
public static Find ( IEnvironmentObject env, IntVector3 src, IntVector3 dest, DirectionSet positioning, IntVector3 &finalLocation ) : IEnumerable
env IEnvironmentObject
src IntVector3
dest IntVector3
positioning DirectionSet
finalLocation IntVector3
Результат IEnumerable

FindArea() публичный статический Метод

Find route from src to destination area
public static FindArea ( IEnvironmentObject env, IntVector3 src, DirectionSet srcPositioning, IntGrid3 dstArea, int maxNodeCount = 200000, CancellationToken cancellationToken = null ) : AStarResult
env IEnvironmentObject
src IntVector3
srcPositioning DirectionSet
dstArea IntGrid3
maxNodeCount int
cancellationToken System.Threading.CancellationToken
Результат AStarResult

FindMany() публичный статический Метод

public static FindMany ( IEnvironmentObject env, IntVector3 src, DirectionSet srcPositioning, bool>.Func func, int maxNodeCount = 200000, CancellationToken cancellationToken = null ) : IEnumerable
env IEnvironmentObject
src IntVector3
srcPositioning DirectionSet
func bool>.Func
maxNodeCount int
cancellationToken System.Threading.CancellationToken
Результат IEnumerable

FindMany() публичный статический Метод

public static FindMany ( IEnvironmentObject env, IntVector3 src, DirectionSet srcPositioning, IAStarTarget target, int maxNodeCount = 200000, CancellationToken cancellationToken = null ) : IEnumerable
env IEnvironmentObject
src IntVector3
srcPositioning DirectionSet
target IAStarTarget
maxNodeCount int
cancellationToken System.Threading.CancellationToken
Результат IEnumerable

FindNearest() публичный статический Метод

Flood-find the nearest location for which func returns true
public static FindNearest ( IEnvironmentObject env, IntVector3 src, bool>.Func func, int maxNodeCount = 200000 ) : AStarResult
env IEnvironmentObject
src IntVector3
func bool>.Func
maxNodeCount int
Результат AStarResult

GetPath() публичный Метод

public GetPath ( ) : IEnumerable
Результат IEnumerable

GetPathLocationsReverse() публичный Метод

public GetPathLocationsReverse ( ) : IEnumerable
Результат IEnumerable

GetPathNodesReverse() публичный Метод

public GetPathNodesReverse ( ) : IEnumerable
Результат IEnumerable

GetPathReverse() публичный Метод

public GetPathReverse ( ) : IEnumerable
Результат IEnumerable