Class RouteManager
Main hub for routes processing.
Inheritance
System.Object
RouteManager
Assembly: Eco.Simulation.dll
Syntax
public class RouteManager : Singleton<RouteManager>, ISimplePluginData, IStorage, ISerializable
Constructors
RouteManager()
Declaration
Fields
Grid
Declaration
Field Value
RouteToSeaMap
Declaration
public static Array2D<WorldPosition3i> RouteToSeaMap
Field Value
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
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
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
Returns
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
Returns
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
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
Returns
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
OnCreate()
Declaration
OnLoaded()
Declaration
QueueBlockUpdate(WrappedWorldPosition3i)
Adds requested position to block update queue for future processing
Declaration
public static void QueueBlockUpdate(WrappedWorldPosition3i pos)
Parameters
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
SetWalkable(WorldPosition3i)
Can add any position to walkables, will assign/create regions for it if needed
Declaration
public void SetWalkable(WorldPosition3i pos)
Parameters
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
Returns
Type |
Description |
System.Boolean |
|
WorldBlockIsWalkable(WrappedPosition3i)
Check if block position is walkable
Declaration
public static bool WorldBlockIsWalkable(WrappedPosition3i pos)
Parameters
Returns
Type |
Description |
System.Boolean |
|
Implements