Class RouteCacheData
Inheritance
System.Object
RouteCacheData
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
Returns
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
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
AllNeighbors(WorldPosition3i)
Get all neighbours data for requested position
Declaration
public NeighborInfo[] AllNeighbors(WorldPosition3i pos)
Parameters
Returns
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
Returns
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
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
Returns
NeighborsIncludeWater(WorldPosition3i)
Get all neighbours data for requested position, including water blocks checks
Declaration
public static NeighborInfo[] NeighborsIncludeWater(WorldPosition3i pos)
Parameters
Returns
NeighborsWithJumps(WorldPosition3i)
Declaration
public static NeighborInfo[] NeighborsWithJumps(WorldPosition3i pos)
Parameters
Returns
RemoveAndUnlink(WorldPosition3i)
Removes position from cached route data and updated links for neighbors
Declaration
public static bool RemoveAndUnlink(WorldPosition3i pos)
Parameters
Returns
Type |
Description |
System.Boolean |
|
SetDirty()
Declaration
SetPositionData(WorldPosition3i)
Set packed data and movement cost based on position.
Declaration
public void SetPositionData(WorldPosition3i pos)
Parameters
SetRegionID(WorldPosition3i, Int16)
Try to assign region id to target position
Declaration
public static void SetRegionID(WorldPosition3i pos, short regionID)
Parameters
SetRegionIDNoUpdate(WorldPosition3i, Int16)
Updates region data silently
Declaration
public static void SetRegionIDNoUpdate(WorldPosition3i pos, short regionID)
Parameters
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
UpdateDataIfDirty(WorldPosition3i)
Declaration
public void UpdateDataIfDirty(WorldPosition3i pos)
Parameters
Operators
Explicit(RouteCacheData to Int32)
Declaration
public static explicit operator int (RouteCacheData data)
Parameters
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