Class WorldLayer
Inheritance
System.Object
WorldLayer
Assembly: Eco.Simulation.dll
Syntax
public class WorldLayer : Object, IStorage, ISerializable, IController, IViewController, IHasUniversalID, IWorldLayerView, IWorldLayerLastTickView, IHeatMapOverlay, IOverlayWithDescribableUnits, IMinimapOption, IMinimapCategorizedOption
Constructors
WorldLayer()
Declaration
Fields
ActualTotal
Declaration
Field Value
| Type |
Description |
| System.Single |
|
ChangedEvent
Declaration
public ThreadSafeAction<WorldLayer> ChangedEvent
Field Value
Epsilon
Declaration
public const float Epsilon = 0.0001F
Field Value
| Type |
Description |
| System.Single |
|
Height
Declaration
Field Value
| Type |
Description |
| System.Int32 |
|
NumCells
Declaration
Field Value
| Type |
Description |
| System.Single |
|
PrevEntries
Declaration
public Array2D<float> PrevEntries
Field Value
| Type |
Description |
| Array2D<System.Single> |
|
RoundedTotal
Declaration
Field Value
| Type |
Description |
| System.Int32 |
|
TimeSpentTicking
Declaration
public double TimeSpentTicking
Field Value
| Type |
Description |
| System.Double |
|
Width
Declaration
Field Value
| Type |
Description |
| System.Int32 |
|
Properties
ActualResolutionAdjustedTotal
Declaration
public float ActualResolutionAdjustedTotal { get; }
Property Value
| Type |
Description |
| System.Single |
|
CalcSize
Declaration
public int CalcSize { get; }
Property Value
| Type |
Description |
| System.Int32 |
|
CellArea
Declaration
public int CellArea { get; }
Property Value
| Type |
Description |
| System.Int32 |
|
ControllerID
Declaration
public ref int ControllerID { get; }
Property Value
| Type |
Description |
| System.Int32 |
|
DirtyRawData
Declaration
public bool DirtyRawData { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
DisplayName
Declaration
public string DisplayName { get; }
Property Value
| Type |
Description |
| System.String |
|
FolderStructure
Declaration
public string FolderStructure { get; }
Property Value
| Type |
Description |
| System.String |
|
IsOnByDefault
Declaration
public bool IsOnByDefault { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
IsVisible
Declaration
public bool IsVisible { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
Item[Vector2i]
Declaration
public float this[Vector2i pos] { get; set; }
Parameters
Property Value
| Type |
Description |
| System.Single |
|
Item[Int32, Int32]
Declaration
public float this[int x, int y] { get; set; }
Parameters
| Type |
Name |
Description |
| System.Int32 |
x |
|
| System.Int32 |
y |
|
Property Value
| Type |
Description |
| System.Single |
|
LastModifiedTime
Declaration
public double LastModifiedTime { get; }
Property Value
| Type |
Description |
| System.Double |
|
Map
Declaration
public Array2D<float> Map { get; protected set; }
Property Value
| Type |
Description |
| Array2D<System.Single> |
|
MarkedUpName
Declaration
public LocString MarkedUpName { get; }
Property Value
Name
Declaration
public string Name { get; set; }
Property Value
| Type |
Description |
| System.String |
|
OutputColor
Declaration
public Color OutputColor { get; set; }
Property Value
OverlayName
Declaration
public string OverlayName { get; }
Property Value
| Type |
Description |
| System.String |
|
PostTick
Declaration
public virtual bool PostTick { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
Priority
Declaration
public float Priority { get; }
Property Value
| Type |
Description |
| System.Single |
|
PushPullActive
Declaration
public bool PushPullActive { get; set; }
Property Value
| Type |
Description |
| System.Boolean |
|
Range
Declaration
public Range Range { get; }
Property Value
RoundedResolutionAdjustedTotal
Declaration
public int RoundedResolutionAdjustedTotal { get; }
Property Value
| Type |
Description |
| System.Int32 |
|
Settings
Declaration
public WorldLayerSettings Settings { get; set; }
Property Value
SettingsType
Declaration
public virtual Type SettingsType { get; }
Property Value
| Type |
Description |
| System.Type |
|
Size
Declaration
public Vector2i Size { get; }
Property Value
StorageHandle
Declaration
public IPersistent StorageHandle { get; set; }
Property Value
UnitDescription
Declaration
public LocString UnitDescription { get; set; }
Property Value
Values
Declaration
public IEnumerable<float> Values { get; }
Property Value
| Type |
Description |
| System.Collections.Generic.IEnumerable<System.Single> |
|
Methods
ApplyInteraction(IWorldLayerInteraction, IWorldLayerLastTickView[])
Declaration
public void ApplyInteraction(IWorldLayerInteraction interaction, IWorldLayerLastTickView[] dependencies)
Parameters
ApplyRadius(Vector2i, Single, Func<Vector2i, Single, Single>)
Declaration
public void ApplyRadius(Vector2i pos, float radius, Func<Vector2i, float, float> func)
Parameters
| Type |
Name |
Description |
| Vector2i |
pos |
|
| System.Single |
radius |
|
| System.Func<Vector2i, System.Single, System.Single> |
func |
|
AverageOverBoundaryAlignedWorldArea(WorldArea)
Declaration
public float AverageOverBoundaryAlignedWorldArea(WorldArea area = null)
Parameters
Returns
| Type |
Description |
| System.Single |
|
AverageOverBoundaryAlignedWorldAreaLastTick(WorldArea)
Declaration
public float AverageOverBoundaryAlignedWorldAreaLastTick(WorldArea area = null)
Parameters
Returns
| Type |
Description |
| System.Single |
|
AverageOverBoundaryAlignedWorldPos(Vector2i)
Declaration
public float AverageOverBoundaryAlignedWorldPos(Vector2i pos)
Parameters
Returns
| Type |
Description |
| System.Single |
|
BackwardsCompatibilityCheck()
Declaration
public virtual void BackwardsCompatibilityCheck()
Clear()
Declaration
DoTick()
Declaration
EntryWorldPos(Vector2i)
Declaration
public float EntryWorldPos(Vector2i pos)
Parameters
Returns
| Type |
Description |
| System.Single |
|
EntryWorldPos(Int32, Int32)
Declaration
public float EntryWorldPos(int x, int y)
Parameters
| Type |
Name |
Description |
| System.Int32 |
x |
|
| System.Int32 |
y |
|
Returns
| Type |
Description |
| System.Single |
|
FillLayerWithSummedPatchValues(Array2D<Single>)
Declaration
public void FillLayerWithSummedPatchValues(Array2D<float> vals)
Parameters
| Type |
Name |
Description |
| Array2D<System.Single> |
vals |
|
ForEach(Action<Vector2i, Single>)
Declaration
public void ForEach(Action<Vector2i, float> func)
Parameters
| Type |
Name |
Description |
| System.Action<Vector2i, System.Single> |
func |
|
ForEachCell(Int32, WorldLayer[], Action<Vector2i, WorldArea, Single[], WorldLayerNeighborInfo[], Int32>)
Invokes action for every cell with voxelsPerEntry granularity with normalized values from dependencies.
Declaration
public static void ForEachCell(int voxelsPerEntry, WorldLayer[] dependencies, Action<Vector2i, WorldArea, float[], WorldLayerNeighborInfo[], int> action)
Parameters
ForEachCell(Int32, Action<Vector2i, WorldArea>)
Declaration
public static void ForEachCell(int voxelsPerEntry, Action<Vector2i, WorldArea> action)
Parameters
| Type |
Name |
Description |
| System.Int32 |
voxelsPerEntry |
|
| System.Action<Vector2i, WorldArea> |
action |
|
ForRadius(Vector2i, Single, Func<Vector2i, Single, Single>)
Declaration
public void ForRadius(Vector2i pos, float radius, Func<Vector2i, float, float> func)
Parameters
| Type |
Name |
Description |
| Vector2i |
pos |
|
| System.Single |
radius |
|
| System.Func<Vector2i, System.Single, System.Single> |
func |
|
GetValue(LayerPosition)
Gets the layer at layerPos. If granularity different then will translate the value.
Declaration
public float GetValue(LayerPosition layerPos)
Parameters
Returns
| Type |
Description |
| System.Single |
|
Init()
Declaration
Init(Func<Vector2i, Single>)
Declaration
protected void Init(Func<Vector2i, float> func)
Parameters
| Type |
Name |
Description |
| System.Func<Vector2i, System.Single> |
func |
|
InitInteraction(IWorldLayerInteraction, WorldLayer[])
Declaration
public void InitInteraction(IWorldLayerInteraction interaction, WorldLayer[] initDependencies)
Parameters
InitSelf()
Declaration
protected virtual void InitSelf()
LayerPosToWorldArea(Vector2i)
Declaration
public WorldArea LayerPosToWorldArea(Vector2i pos)
Parameters
Returns
LayerPosToWorldArea(Vector2i, Int32)
Converts layerPos to WorldArea with voxelsPerEntry granularity.
Declaration
public static WorldArea LayerPosToWorldArea(Vector2i layerPos, int voxelsPerEntry)
Parameters
| Type |
Name |
Description |
| Vector2i |
layerPos |
|
| System.Int32 |
voxelsPerEntry |
|
Returns
LayerPosToWorldPos(Vector2)
Declaration
public Vector2i LayerPosToWorldPos(Vector2 pos)
Parameters
Returns
MarkDirty()
Declaration
MigrateVersion()
Declaration
public virtual bool MigrateVersion()
Returns
| Type |
Description |
| System.Boolean |
|
Modify()
Declaration
NoiseInit(Single, Single, Single, Func<Vector2i, Single, Single>)
Declaration
public void NoiseInit(float frequency = 2F, float scale = 0.5F, float bias = 0.5F, Func<Vector2i, float, float> multiplier = null)
Parameters
| Type |
Name |
Description |
| System.Single |
frequency |
|
| System.Single |
scale |
|
| System.Single |
bias |
|
| System.Func<Vector2i, System.Single, System.Single> |
multiplier |
|
Patch(Vector2i)
Declaration
public WorldArea Patch(Vector2i pos)
Parameters
Returns
PercentToRawPos(Vector2)
Declaration
public Vector2 PercentToRawPos(Vector2 pos)
Parameters
Returns
PercentToWorldPos(Vector2)
Declaration
public Vector2 PercentToWorldPos(Vector2 pos)
Parameters
Returns
PostLoad()
Declaration
PostLoadSelf()
Declaration
protected virtual void PostLoadSelf()
PullLayer(IWorldLayerPuller)
Declaration
public void PullLayer(IWorldLayerPuller worldLayerPuller)
Parameters
PullLayerNonExclusive(IWorldLayerPuller)
Declaration
public void PullLayerNonExclusive(IWorldLayerPuller worldLayerPuller)
Parameters
PullStartupLayer(IStartupWorldLayerPuller)
Pulls startup value for layer using puller.
Declaration
public void PullStartupLayer(IStartupWorldLayerPuller puller)
Parameters
PushLayers(IWorldLayerPusher)
Declaration
public static void PushLayers(IWorldLayerPusher pusher)
Parameters
RawEntry(Vector2i)
Declaration
public float RawEntry(Vector2i pos)
Parameters
Returns
| Type |
Description |
| System.Single |
|
RecordPrevious()
Declaration
public void RecordPrevious()
SafeEntry(Vector2i)
Declaration
public float SafeEntry(Vector2i pos)
Parameters
Returns
| Type |
Description |
| System.Single |
|
SafeEntry(Int32, Int32)
Declaration
public float SafeEntry(int x, int y)
Parameters
| Type |
Name |
Description |
| System.Int32 |
x |
|
| System.Int32 |
y |
|
Returns
| Type |
Description |
| System.Single |
|
SetAtWorldPos(Vector2i, Single)
Declaration
public float SetAtWorldPos(Vector2i pos, float val)
Parameters
| Type |
Name |
Description |
| Vector2i |
pos |
|
| System.Single |
val |
|
Returns
| Type |
Description |
| System.Single |
|
SetMax(Array2D<Boolean>)
Declaration
public void SetMax(Array2D<bool> worldVals)
Parameters
| Type |
Name |
Description |
| Array2D<System.Boolean> |
worldVals |
|
SetMax(Array2D<Single>)
Declaration
public void SetMax(Array2D<float> worldVals)
Parameters
| Type |
Name |
Description |
| Array2D<System.Single> |
worldVals |
|
SumAndCountOverBoundaryAlignedWorldArea(WorldArea, Boolean, out Single, out Int32)
Declaration
public void SumAndCountOverBoundaryAlignedWorldArea(WorldArea area, bool previousValues, out float totalAmount, out int numCells)
Parameters
| Type |
Name |
Description |
| WorldArea |
area |
|
| System.Boolean |
previousValues |
|
| System.Single |
totalAmount |
|
| System.Int32 |
numCells |
|
Tick()
Declaration
TickFinished()
Called after all layer ticks are complete and totals have been reset
Declaration
public virtual void TickFinished()
TickSelf()
Declaration
protected virtual void TickSelf()
ToString()
Declaration
public override string ToString()
Returns
| Type |
Description |
| System.String |
|
ToString(Vector2i)
Declaration
public virtual string ToString(Vector2i layerPos)
Parameters
Returns
| Type |
Description |
| System.String |
|
Declaration
public void Transform(Func<float, float> func)
Parameters
| Type |
Name |
Description |
| System.Func<System.Single, System.Single> |
func |
|
Transforms value for each cell in the worldArea using transform function.
Declaration
public void TransformInArea(WorldArea worldArea, Func<float, float> transform)
Parameters
| Type |
Name |
Description |
| WorldArea |
worldArea |
|
| System.Func<System.Single, System.Single> |
transform |
|
TranslateEntry(WorldLayer, Vector2i)
Declaration
public float TranslateEntry(WorldLayer other, Vector2i layerPos)
Parameters
Returns
| Type |
Description |
| System.Single |
|
TranslateEntryToAmount(WorldLayer, Vector2i)
Query other layer amount at layerPos, translating when the other layer resolution is different. Result depends on other layer's ValueType.
For Amount and Percent it will return unmodified value, but for FillRate it will return value multiplied by CellArea.
Declaration
public float TranslateEntryToAmount(WorldLayer other, Vector2i layerPos)
Parameters
Returns
| Type |
Description |
| System.Single |
|
UpdateAtWorldPos(Vector2i, Func<Vector2i, Single, Single>)
Declaration
public float UpdateAtWorldPos(Vector2i pos, Func<Vector2i, float, float> func)
Parameters
| Type |
Name |
Description |
| Vector2i |
pos |
|
| System.Func<Vector2i, System.Single, System.Single> |
func |
|
Returns
| Type |
Description |
| System.Single |
|
UpdateLayerTotals()
Declaration
public virtual void UpdateLayerTotals()
ValStringHtml(Single, Boolean)
Returns a string in HTML format for the val using . Set relative if you wanna to format value difference.
Declaration
public string ValStringHtml(float val, bool relative = false)
Parameters
| Type |
Name |
Description |
| System.Single |
val |
|
| System.Boolean |
relative |
|
Returns
| Type |
Description |
| System.String |
|
Returns a tooltip string for the val using . Set relative if you wanna to format value difference.
Declaration
public string ValStringTooltip(float val, bool relative = false)
Parameters
| Type |
Name |
Description |
| System.Single |
val |
|
| System.Boolean |
relative |
|
Returns
| Type |
Description |
| System.String |
|
WorldPosToLayerPos(Vector2i)
Declaration
public Vector2i WorldPosToLayerPos(Vector2i pos)
Parameters
Returns
WrapPos(Vector2i)
Declaration
public Vector2i WrapPos(Vector2i pos)
Parameters
Returns
Implements