Show / Hide Table of Contents

Class PackedPathNode

Stores the types of transitions to all 8 neighbors

Inheritance
System.Object
PackedPathNode
Namespace: Eco.Simulation.Pathfinding.Internal
Assembly: Eco.Simulation.dll
Syntax
public sealed class PackedPathNode : ValueType

Constructors

PackedPathNode(WorldPosition3i)

Create a packed node, querying the world around it to determine the movabilities in each direction.

Declaration
public PackedPathNode(WorldPosition3i pos)
Parameters
Type Name Description
WorldPosition3i pos

PackedPathNode(UInt32)

Declaration
public PackedPathNode(uint value)
Parameters
Type Name Description
System.UInt32 value

Properties

BlockType

Declaration
public PackedPathNode.PathBlockType BlockType { get; }
Property Value
Type Description
PackedPathNode.PathBlockType

East

Declaration
public PackedPathNode.Movability East { get; }
Property Value
Type Description
PackedPathNode.Movability

North

Declaration
public PackedPathNode.Movability North { get; }
Property Value
Type Description
PackedPathNode.Movability

NorthEast

Declaration
public PackedPathNode.Movability NorthEast { get; }
Property Value
Type Description
PackedPathNode.Movability

NorthWest

Declaration
public PackedPathNode.Movability NorthWest { get; }
Property Value
Type Description
PackedPathNode.Movability

South

Declaration
public PackedPathNode.Movability South { get; }
Property Value
Type Description
PackedPathNode.Movability

SouthEast

Declaration
public PackedPathNode.Movability SouthEast { get; }
Property Value
Type Description
PackedPathNode.Movability

SouthWest

Declaration
public PackedPathNode.Movability SouthWest { get; }
Property Value
Type Description
PackedPathNode.Movability

West

Declaration
public PackedPathNode.Movability West { get; }
Property Value
Type Description
PackedPathNode.Movability

Methods

DirMovability(HorzDir)

Declaration
public PackedPathNode.Movability DirMovability(HorzDir dir)
Parameters
Type Name Description
HorzDir dir
Returns
Type Description
PackedPathNode.Movability

FillMovableDirections(WorldPosition3i, Span<WorldPosition3i>)

Declaration
public int FillMovableDirections(WorldPosition3i centerPos, Span<WorldPosition3i> values)
Parameters
Type Name Description
WorldPosition3i centerPos
System.Span<WorldPosition3i> values
Returns
Type Description
System.Int32

FillMovableDirections(WorldPosition3i, Span<WorldPosition3i>, Boolean[])

Declaration
public int FillMovableDirections(WorldPosition3i centerPos, Span<WorldPosition3i> values, bool[] acceptableTransitions)
Parameters
Type Name Description
WorldPosition3i centerPos
System.Span<WorldPosition3i> values
System.Boolean[] acceptableTransitions
Returns
Type Description
System.Int32

FillMovableDirectionsAndPos(WorldPosition3i, Span<(WorldPosition3i, PackedPathNode.Movability, HorzDir)>, Boolean[])

Declaration
public int FillMovableDirectionsAndPos(WorldPosition3i centerPos, Span<(WorldPosition3i, PackedPathNode.Movability, HorzDir)> values, bool[] acceptableTransitions = null)
Parameters
Type Name Description
WorldPosition3i centerPos
System.Span<System.ValueTuple<WorldPosition3i, PackedPathNode.Movability, HorzDir>> values
System.Boolean[] acceptableTransitions
Returns
Type Description
System.Int32

Flatness()

Returns number of transitions that aren't walk. 0 means totally flat, 8 means least possible flat.

Declaration
public int Flatness()
Returns
Type Description
System.Int32

GetNeighbors(WorldPosition3i)

Returns all valid neighbors for this node at the given position.

Declaration
public IEnumerable<WorldPosition3i> GetNeighbors(WorldPosition3i pos)
Parameters
Type Name Description
WorldPosition3i pos
Returns
Type Description
System.Collections.Generic.IEnumerable<WorldPosition3i>

GetPosForDir(WorldPosition3i, HorzDir)

Traverse in the given direction, if possible and return the position and movability.

Declaration
public (WorldPosition3i, PackedPathNode.Movability) GetPosForDir(WorldPosition3i pos, HorzDir dir)
Parameters
Type Name Description
WorldPosition3i pos
HorzDir dir
Returns
Type Description
System.ValueTuple<WorldPosition3i, PackedPathNode.Movability>

IsFlat()

Declaration
public bool IsFlat()
Returns
Type Description
System.Boolean

SetDirMovability(HorzDir, PackedPathNode.Movability)

Declaration
public void SetDirMovability(HorzDir dir, PackedPathNode.Movability value)
Parameters
Type Name Description
HorzDir dir
PackedPathNode.Movability value

ToString()

Declaration
public override string ToString()
Returns
Type Description
System.String

Operators

Implicit(PackedPathNode to UInt32)

Declaration
public static implicit operator uint (PackedPathNode wrapper)
Parameters
Type Name Description
PackedPathNode wrapper
Returns
Type Description
System.UInt32

Implicit(UInt32 to PackedPathNode)

Declaration
public static implicit operator PackedPathNode(uint value)
Parameters
Type Name Description
System.UInt32 value
Returns
Type Description
PackedPathNode
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾