Show / Hide Table of Contents

Class RouteCacheData

Inheritance
System.Object
RouteCacheData
Namespace: Eco.Simulation.RouteProbing
Assembly: Eco.Simulation.dll
Syntax
public sealed class RouteCacheData : ValueType

Properties

IsDirty

Declaration
public bool IsDirty { get; }
Property Value
Type Description
System.Boolean

RegionID

Declaration
public short RegionID { get; }
Property Value
Type Description
System.Int16

Methods

AdjacentJumpInfo(WorldPosition3i, Vector3i)

Declaration
public static NeighborInfo AdjacentJumpInfo(WorldPosition3i pos, Vector3i dir)
Parameters
Type Name Description
WorldPosition3i pos
Vector3i dir
Returns
Type Description
NeighborInfo

AdjacentNeighborInfo(WorldPosition3i, Int32, Int32)

Builds NeighborInfo based on requested position and neighbor data for requested diagonal and yData

Declaration
public static NeighborInfo AdjacentNeighborInfo(WorldPosition3i targetXZ, int yData, int diagonal)
Parameters
Type Name Description
WorldPosition3i targetXZ
System.Int32 yData
System.Int32 diagonal
Returns
Type Description
NeighborInfo

AdjacentNeighborInfoFlatOnly(WorldPosition3i, Int32, Int32)

Builds NeighborInfo based on requested position and neighbor data for requested diagonal and yData

Declaration
public static NeighborInfo AdjacentNeighborInfoFlatOnly(WorldPosition3i targetXZ, int yData, int diagonal)
Parameters
Type Name Description
WorldPosition3i targetXZ
System.Int32 yData
System.Int32 diagonal
Returns
Type Description
NeighborInfo

AllNeighbors(WorldPosition3i)

Get all neighbours data for requested position

Declaration
public NeighborInfo[] AllNeighbors(WorldPosition3i pos)
Parameters
Type Name Description
WorldPosition3i pos
Returns
Type Description
NeighborInfo[]

AllNeighborsWithJumps(WorldPosition3i)

Get all neighbours available for walk. Only 3x3 flat ground is available for walk for big animals. This includes all neighbors with 3x3 flat ground plus 4 jumps positions.

Declaration
public NeighborInfo[] AllNeighborsWithJumps(WorldPosition3i pos)
Parameters
Type Name Description
WorldPosition3i pos
Returns
Type Description
NeighborInfo[]

GetBitsForDirections(Int16, out Int32, out Int32, out Int32, out Int32)

Handler to convert packed data to direction bits

Declaration
public static void GetBitsForDirections(short packedData, out int nbits, out int ebits, out int sbits, out int wbits)
Parameters
Type Name Description
System.Int16 packedData
System.Int32 nbits
System.Int32 ebits
System.Int32 sbits
System.Int32 wbits

IsFlatGround()

Cached local check for flat ground in current position. Should use this if possible.

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

IsFlatGround(WorldPosition3i)

Static check for ground flatness, reuses cached one, but tries to get data from global grid.

Declaration
public static bool IsFlatGround(WorldPosition3i groundPos)
Parameters
Type Name Description
WorldPosition3i groundPos
Returns
Type Description
System.Boolean

Neighbors(WorldPosition3i)

Shortcut to get all neighbours data for requested pos, see AllNeighbors for ref

Declaration
public static NeighborInfo[] Neighbors(WorldPosition3i pos)
Parameters
Type Name Description
WorldPosition3i pos
Returns
Type Description
NeighborInfo[]

NeighborsIncludeWater(WorldPosition3i)

Get all neighbours data for requested position, including water blocks checks

Declaration
public static NeighborInfo[] NeighborsIncludeWater(WorldPosition3i pos)
Parameters
Type Name Description
WorldPosition3i pos
Returns
Type Description
NeighborInfo[]

NeighborsWithJumps(WorldPosition3i)

Declaration
public static NeighborInfo[] NeighborsWithJumps(WorldPosition3i pos)
Parameters
Type Name Description
WorldPosition3i pos
Returns
Type Description
NeighborInfo[]

RemoveAndUnlink(WorldPosition3i)

Removes position from cached route data and updated links for neighbors

Declaration
public static bool RemoveAndUnlink(WorldPosition3i pos)
Parameters
Type Name Description
WorldPosition3i pos
Returns
Type Description
System.Boolean

SetDirty()

Declaration
public void SetDirty()

SetPositionData(WorldPosition3i)

Set packed data and movement cost based on position.

Declaration
public void SetPositionData(WorldPosition3i pos)
Parameters
Type Name Description
WorldPosition3i pos

SetRegionID(WorldPosition3i, Int16)

Try to assign region id to target position

Declaration
public static void SetRegionID(WorldPosition3i pos, short regionID)
Parameters
Type Name Description
WorldPosition3i pos
System.Int16 regionID

SetRegionIDNoUpdate(WorldPosition3i, Int16)

Updates region data silently

Declaration
public static void SetRegionIDNoUpdate(WorldPosition3i pos, short regionID)
Parameters
Type Name Description
WorldPosition3i pos
System.Int16 regionID

ToString()

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

UpdateConnectionsFromWorld(WorldPosition3i)

Forces to update cached data for requested position (directions data and movement costs)

Declaration
public static void UpdateConnectionsFromWorld(WorldPosition3i pos)
Parameters
Type Name Description
WorldPosition3i pos

UpdateDataIfDirty(WorldPosition3i)

Declaration
public void UpdateDataIfDirty(WorldPosition3i pos)
Parameters
Type Name Description
WorldPosition3i pos

Operators

Explicit(RouteCacheData to Int32)

Declaration
public static explicit operator int (RouteCacheData data)
Parameters
Type Name Description
RouteCacheData data
Returns
Type Description
System.Int32

Explicit(Int32 to RouteCacheData)

Declaration
public static explicit operator RouteCacheData(int data)
Parameters
Type Name Description
System.Int32 data
Returns
Type Description
RouteCacheData
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾