C# 클래스 SharpNav.Crowds.PathCorridor

파일 보기 프로젝트 열기: Robmaister/SharpNav 1 사용 예제들

공개 메소드들

메소드 설명
FindCorners ( SharpNav.Pathfinding.StraightPath corners, NavMeshQuery navquery ) : void
FixPathStart ( NavPolyId safeRef, Microsoft.Xna.Framework.Vector3 safePos ) : bool

Adjust the beginning of the path

GetFirstPoly ( ) : NavPolyId
GetLastPoly ( ) : NavPolyId
IsValid ( int maxLookAhead, NavMeshQuery navquery ) : bool

Determines whether all the polygons in the path are valid

MergeCorridorStartMoved ( SharpNav.Pathfinding.Path path, List visited ) : int

Merge two paths after the start is changed

MergeCorridorStartShortcut ( SharpNav.Pathfinding.Path corridorPath, SharpNav.Pathfinding.Path visitedPath ) : int

Merge two paths when a shorter path is found

MoveOverOffmeshConnection ( NavPolyId offMeshConRef, NavPolyId refs, Microsoft.Xna.Framework.Vector3 &startPos, Microsoft.Xna.Framework.Vector3 &endPos, NavMeshQuery navquery ) : bool
MovePosition ( Microsoft.Xna.Framework.Vector3 npos, NavMeshQuery navquery ) : bool

Move along the NavMeshQuery and update the position

OptimizePathTopology ( NavMeshQuery navquery, NavQueryFilter filter ) : bool

Use a local area path search to try to reoptimize this corridor

OptimizePathVisibility ( Microsoft.Xna.Framework.Vector3 next, float pathOptimizationRange, NavMeshQuery navquery ) : void

Use an efficient local visibility search to try to optimize the corridor between the current position and the next.

PathCorridor ( )
Reset ( NavPolyId reference, Microsoft.Xna.Framework.Vector3 pos ) : void

Resets the path to the first polygon.

SetCorridor ( Microsoft.Xna.Framework.Vector3 target, SharpNav.Pathfinding.Path path ) : void

The current corridor position is expected to be within the first polygon in the path. The target is expected to be in the last polygon.

메소드 상세

FindCorners() 공개 메소드

public FindCorners ( SharpNav.Pathfinding.StraightPath corners, NavMeshQuery navquery ) : void
corners SharpNav.Pathfinding.StraightPath
navquery NavMeshQuery
리턴 void

FixPathStart() 공개 메소드

Adjust the beginning of the path
public FixPathStart ( NavPolyId safeRef, Microsoft.Xna.Framework.Vector3 safePos ) : bool
safeRef NavPolyId The starting polygon reference
safePos Microsoft.Xna.Framework.Vector3 The starting position
리턴 bool

GetFirstPoly() 공개 메소드

public GetFirstPoly ( ) : NavPolyId
리턴 NavPolyId

GetLastPoly() 공개 메소드

public GetLastPoly ( ) : NavPolyId
리턴 NavPolyId

IsValid() 공개 메소드

Determines whether all the polygons in the path are valid
public IsValid ( int maxLookAhead, NavMeshQuery navquery ) : bool
maxLookAhead int The amount of polygons to examine
navquery NavMeshQuery The NavMeshQuery
리턴 bool

MergeCorridorStartMoved() 공개 메소드

Merge two paths after the start is changed
public MergeCorridorStartMoved ( SharpNav.Pathfinding.Path path, List visited ) : int
path SharpNav.Pathfinding.Path The current path
visited List The visited polygons
리턴 int

MergeCorridorStartShortcut() 공개 메소드

Merge two paths when a shorter path is found
public MergeCorridorStartShortcut ( SharpNav.Pathfinding.Path corridorPath, SharpNav.Pathfinding.Path visitedPath ) : int
corridorPath SharpNav.Pathfinding.Path
visitedPath SharpNav.Pathfinding.Path
리턴 int

MoveOverOffmeshConnection() 공개 메소드

public MoveOverOffmeshConnection ( NavPolyId offMeshConRef, NavPolyId refs, Microsoft.Xna.Framework.Vector3 &startPos, Microsoft.Xna.Framework.Vector3 &endPos, NavMeshQuery navquery ) : bool
offMeshConRef NavPolyId
refs NavPolyId
startPos Microsoft.Xna.Framework.Vector3
endPos Microsoft.Xna.Framework.Vector3
navquery NavMeshQuery
리턴 bool

MovePosition() 공개 메소드

Move along the NavMeshQuery and update the position
public MovePosition ( Microsoft.Xna.Framework.Vector3 npos, NavMeshQuery navquery ) : bool
npos Microsoft.Xna.Framework.Vector3 Current position
navquery NavMeshQuery The NavMeshQuery
리턴 bool

OptimizePathTopology() 공개 메소드

Use a local area path search to try to reoptimize this corridor
public OptimizePathTopology ( NavMeshQuery navquery, NavQueryFilter filter ) : bool
navquery NavMeshQuery The NavMeshQuery
filter SharpNav.Pathfinding.NavQueryFilter
리턴 bool

OptimizePathVisibility() 공개 메소드

Use an efficient local visibility search to try to optimize the corridor between the current position and the next.
public OptimizePathVisibility ( Microsoft.Xna.Framework.Vector3 next, float pathOptimizationRange, NavMeshQuery navquery ) : void
next Microsoft.Xna.Framework.Vector3 The next postion
pathOptimizationRange float The range
navquery NavMeshQuery The NavMeshQuery
리턴 void

PathCorridor() 공개 메소드

public PathCorridor ( )

Reset() 공개 메소드

Resets the path to the first polygon.
public Reset ( NavPolyId reference, Microsoft.Xna.Framework.Vector3 pos ) : void
reference NavPolyId The starting polygon reference
pos Microsoft.Xna.Framework.Vector3 Starting position
리턴 void

SetCorridor() 공개 메소드

The current corridor position is expected to be within the first polygon in the path. The target is expected to be in the last polygon.
public SetCorridor ( Microsoft.Xna.Framework.Vector3 target, SharpNav.Pathfinding.Path path ) : void
target Microsoft.Xna.Framework.Vector3 The target
path SharpNav.Pathfinding.Path The polygon path
리턴 void