Show / Hide Table of Contents

Class RouteManager

Main hub for routes processing.

Inheritance
System.Object
RouteManager
Implements
ISimplePluginData
IStorage
ISerializable
Namespace: Eco.Simulation.RouteProbing
Assembly: Eco.Simulation.dll
Syntax
public class RouteManager : Singleton<RouteManager>, ISimplePluginData, IStorage, ISerializable

Constructors

RouteManager()

Declaration
public RouteManager()

Fields

Grid

Declaration
public RouteCache Grid
Field Value
Type Description
RouteCache

RouteToSeaMap

Declaration
public static Array2D<WorldPosition3i> RouteToSeaMap
Field Value
Type Description
Array2D<WorldPosition3i>

Properties

CurrentlyFlooding

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

NeedToUpdateBlocks

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

RegionCount

Declaration
public Dictionary<short, int> RegionCount { get; }
Property Value
Type Description
System.Collections.Generic.Dictionary<System.Int16, System.Int32>

StorageHandle

Declaration
public IPersistent StorageHandle { get; set; }
Property Value
Type Description
IPersistent

Methods

AllWalkablesY(WrappedPosition3i, Int32, Int16, Boolean)

Builds and returns list of all possible walkable positions from requested one in one axis.

Declaration
public static List<WorldPosition3i> AllWalkablesY(WrappedPosition3i pos, int searchRange = 2, short matchRegion = -2, bool requireFlat = false)
Parameters
Type Name Description
WrappedPosition3i pos
System.Int32 searchRange

Number of blocks up and down away from position to check in a column.

System.Int16 matchRegion
System.Boolean requireFlat

When true only flat ground will be considered walkable.

Returns
Type Description
System.Collections.Generic.List<WorldPosition3i>

AllWalkablesYOneDir(Vector2, Vector3, Single, Single, Int16, Boolean)

Find walkable points in a randomly selected column along the line of motion.

Declaration
public static List<WorldPosition3i> AllWalkablesYOneDir(Vector2 targetDir, Vector3 position, float minRadius, float maxRadius, short matchRegion, bool requireFlat = false)
Parameters
Type Name Description
Vector2 targetDir

Direction of the line.

System.Numerics.Vector3 position

Position at which line starts.

System.Single minRadius
System.Single maxRadius
System.Int16 matchRegion

Specific region or type of region in which walkable positions are accepted.

System.Boolean requireFlat

When true only flat ground will be considered walkable.

Returns
Type Description
System.Collections.Generic.List<WorldPosition3i>

List of walkable points found in randomly selected column.

GetCategory()

Declaration
public string GetCategory()
Returns
Type Description
System.String

GetConnectedWorldBlock(WorldPosition3i, Vector3i)

Declaration
public static WorldPosition3i GetConnectedWorldBlock(WorldPosition3i fromWalkable, Vector3i dir)
Parameters
Type Name Description
WorldPosition3i fromWalkable
Vector3i dir
Returns
Type Description
WorldPosition3i

GetDisplayText()

Gets state info for plugin manager

Declaration
public string GetDisplayText()
Returns
Type Description
System.String

GetStatus()

Declaration
public string GetStatus()
Returns
Type Description
System.String

GetWalkableWorldBlock(WrappedPosition3i)

Declaration
public static WorldPosition3i GetWalkableWorldBlock(WrappedPosition3i pos)
Parameters
Type Name Description
WrappedPosition3i pos
Returns
Type Description
WorldPosition3i

InitRouteCache(Boolean)

Initializes data for regions and creates them, based on init type (quick or not)

Declaration
public static void InitRouteCache(bool quick = false)
Parameters
Type Name Description
System.Boolean quick

IsInWalkableRegionPathPos(WrappedPosition3i)

Query a space directly above ground for being in a walkable region.

Declaration
public static bool IsInWalkableRegionPathPos(WrappedPosition3i pathPos)
Parameters
Type Name Description
WrappedPosition3i pathPos
Returns
Type Description
System.Boolean

NearestWalkablePathPosAbove(WrappedPosition3i, Int32)

Gets nearest walkable position on requested position (a place where plants usually grow, etc, so its NearestWalkableGroundPos with offset)

Declaration
public static WorldPosition3i NearestWalkablePathPosAbove(WrappedPosition3i pos, int searchRange = 2)
Parameters
Type Name Description
WrappedPosition3i pos
System.Int32 searchRange
Returns
Type Description
WorldPosition3i

NearestWalkableXYZ(WorldPosition3i, Int32, Int16)

Returns nearest walkable position, based on a search of each axis

Declaration
public static WorldPosition3i NearestWalkableXYZ(WorldPosition3i pos, int searchRange = 2, short matchRegion = -2)
Parameters
Type Name Description
WorldPosition3i pos
System.Int32 searchRange
System.Int16 matchRegion
Returns
Type Description
WorldPosition3i

OnCreate()

Declaration
public void OnCreate()

OnLoaded()

Declaration
public void OnLoaded()

QueueBlockUpdate(WrappedWorldPosition3i)

Adds requested position to block update queue for future processing

Declaration
public static void QueueBlockUpdate(WrappedWorldPosition3i pos)
Parameters
Type Name Description
WrappedWorldPosition3i pos

QueueRegionForUpdate(AStarSearch)

Adds requested A* region update queue for future processing

Declaration
public static void QueueRegionForUpdate(AStarSearch searchContainingRegion)
Parameters
Type Name Description
AStarSearch searchContainingRegion

RemoveWalkable(WorldPosition3i)

Removes position from walkables, will update all adjacent links if any

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

SetWalkable(WorldPosition3i)

Can add any position to walkables, will assign/create regions for it if needed

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

SubscribeBlockUpdateEvents()

Subscribes to block update events to keep route related data up to date

Declaration
public static void SubscribeBlockUpdateEvents()

ToString()

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

UnSubscribeBlockUpdateEvents()

Declaration
public static void UnSubscribeBlockUpdateEvents()

WorldBlockIsWalkable(WorldPosition3i)

Check if block position is walkable

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

WorldBlockIsWalkable(WrappedPosition3i)

Check if block position is walkable

Declaration
public static bool WorldBlockIsWalkable(WrappedPosition3i pos)
Parameters
Type Name Description
WrappedPosition3i pos
Returns
Type Description
System.Boolean

Implements

ISimplePluginData
IStorage
ISerializable
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾