A* Pathfinding Project
4.1.4
The A* Pathfinding Project for Unity 3D
|
Connects two nodes via two intermediate point nodes. More...
Connects two nodes via two intermediate point nodes.
In contrast to the NodeLink component, this link type will not connect the nodes directly instead it will create two point nodes at the start and end position of this link and connect through those nodes.
If the closest node to this object is called A and the closest node to the end transform is called D, then it will create one point node at this object's position (call it B) and one point node at the position of the end transform (call it C), it will then connect A to B, B to C and C to D.
This link type is possible to detect while following since it has these special point nodes in the middle. The link corresponding to one of those intermediate nodes can be retrieved using the GetNodeLink method which can be of great use if you want to, for example, play a link specific animation when reaching the link.
Public Member Functions | |
void | Apply (bool forceNewCheck) |
void | InternalOnPostScan () |
void | OnDrawGizmos () |
void | OnDrawGizmos (bool selected) |
virtual void | OnDrawGizmosSelected () |
override void | OnGraphsPostUpdate () |
Called after graphs have been updated using GraphUpdateObjects. | |
override void | OnPostScan () |
Called right after all graphs have been scanned. | |
Public Member Functions inherited from GraphModifier | |
virtual void | OnGraphsPreUpdate () |
Called before graphs are updated using GraphUpdateObjects. | |
virtual void | OnLatePostScan () |
Called at the end of the scanning procedure. | |
virtual void | OnPostCacheLoad () |
Called after cached graphs have been loaded. | |
virtual void | OnPreScan () |
Called right before graphs are going to be scanned. | |
Static Public Member Functions | |
static NodeLink2 | GetNodeLink (GraphNode node) |
Static Public Member Functions inherited from GraphModifier | |
static void | FindAllModifiers () |
static void | TriggerEvent (GraphModifier.EventType type) |
Triggers an event for all active graph modifiers. | |
Public Attributes | |
float | costFactor = 1.0f |
The connection will be this times harder/slower to traverse. | |
Transform | end |
End position of the link. | |
bool | oneWay = false |
Make a one-way connection. | |
Protected Member Functions | |
override void | OnDisable () |
Removes this modifier from list of active modifiers. | |
override void | OnEnable () |
Adds this modifier to list of active modifiers. | |
Protected Member Functions inherited from GraphModifier | |
override void | Awake () |
virtual void | OnDestroy () |
Protected Member Functions inherited from VersionedMonoBehaviour | |
virtual int | OnUpgradeSerializedData (int version, bool unityThread) |
Handle serialization backwards compatibility. | |
Static Protected Attributes | |
static Dictionary< GraphNode, NodeLink2 > | reference = new Dictionary<GraphNode, NodeLink2>() |
Static Protected Attributes inherited from GraphModifier | |
static Dictionary< ulong, GraphModifier > | usedIDs = new Dictionary<ulong, GraphModifier>() |
Maps persistent IDs to the component that uses it. | |
Static Package Functions | |
static void | DeserializeReferences (Pathfinding.Serialization.GraphSerializationContext ctx) |
static void | SerializeReferences (Pathfinding.Serialization.GraphSerializationContext ctx) |
Properties | |
PointNode | endNode [get, set] |
GraphNode | EndNode [get] |
Transform | EndTransform [get] |
PointNode | startNode [get, set] |
GraphNode | StartNode [get] |
Transform | StartTransform [get] |
Private Member Functions | |
void | ContextApplyForce () |
void | RemoveConnections (GraphNode node) |
Private Attributes | |
Vector3 | clamped1 |
Vector3 | clamped2 |
GraphNode | connectedNode1 |
GraphNode | connectedNode2 |
bool | postScanCalled = false |
Static Private Attributes | |
static readonly Color | GizmosColor = new Color(206.0f/255.0f, 136.0f/255.0f, 48.0f/255.0f, 0.5f) |
static readonly Color | GizmosColorSelected = new Color(235.0f/255.0f, 123.0f/255.0f, 32.0f/255.0f, 1.0f) |
Additional Inherited Members | |
Public Types inherited from GraphModifier | |
enum | EventType { PostScan = 1 << 0, PreScan = 1 << 1, LatePostScan = 1 << 2, PreUpdate = 1 << 3, PostUpdate = 1 << 4, PostCacheLoad = 1 << 5 } |
GraphModifier event type. More... | |
Static Protected Member Functions inherited from GraphModifier | |
static List< T > | GetModifiersOfType< T > () |
Protected Attributes inherited from GraphModifier | |
ulong | uniqueID |
Unique persistent ID for this component, used for serialization. | |
void Apply | ( | bool | forceNewCheck | ) |
|
private |
|
staticpackage |
void InternalOnPostScan | ( | ) |
|
protectedvirtual |
Removes this modifier from list of active modifiers.
Reimplemented from GraphModifier.
void OnDrawGizmos | ( | ) |
void OnDrawGizmos | ( | bool | selected | ) |
|
virtual |
Reimplemented in AnimationLink.
|
protectedvirtual |
Adds this modifier to list of active modifiers.
Reimplemented from GraphModifier.
|
virtual |
Called after graphs have been updated using GraphUpdateObjects.
Eventual flood filling has been done
Reimplemented from GraphModifier.
|
virtual |
Called right after all graphs have been scanned.
FloodFill and other post processing has not been done.
Reimplemented from GraphModifier.
|
private |
|
staticpackage |
|
private |
|
private |
|
private |
|
private |
float costFactor = 1.0f |
The connection will be this times harder/slower to traverse.
Note that values lower than 1 will not always make the pathfinder choose this path instead of another path even though this one should lead to a lower total cost unless you also adjust the Heuristic Scale in A* Inspector -> Settings -> Pathfinding or disable the heuristic altogether.
Transform end |
End position of the link.
|
staticprivate |
|
staticprivate |
bool oneWay = false |
Make a one-way connection.
|
private |
|
getset |
|
get |
|
get |
|
getset |
|
get |
|
get |