Show / Hide Table of Contents

Class WorldLayer

Inheritance
System.Object
WorldLayer
CombineWorldLayer
DecayingWorldLayer
SpeciesHabitabilityLayer
SpeciesLayer
SpreadWorldLayer
SumWorldLayer
Implements
IStorage
ISerializable
IController
IViewController
IHasUniversalID
IWorldLayerView
IWorldLayerLastTickView
IHeatMapOverlay
IOverlayWithDescribableUnits
IMinimapOption
IMinimapCategorizedOption
Namespace: Eco.Simulation.WorldLayers.Layers
Assembly: Eco.Simulation.dll
Syntax
public class WorldLayer : Object, IStorage, ISerializable, IController, IViewController, IHasUniversalID, IWorldLayerView, IWorldLayerLastTickView, IHeatMapOverlay, IOverlayWithDescribableUnits, IMinimapOption, IMinimapCategorizedOption

Constructors

WorldLayer()

Declaration
public WorldLayer()

Fields

ActualTotal

Declaration
public float ActualTotal
Field Value
Type Description
System.Single

Epsilon

Declaration
public const float Epsilon = 0.0001F
Field Value
Type Description
System.Single

Height

Declaration
public int Height
Field Value
Type Description
System.Int32

NumCells

Declaration
public float NumCells
Field Value
Type Description
System.Single

PrevEntries

Declaration
public Array2D<float> PrevEntries
Field Value
Type Description
Array2D<System.Single>

RoundedResolutionAdjustedTotal

Declaration
public int RoundedResolutionAdjustedTotal
Field Value
Type Description
System.Int32

RoundedTotal

Declaration
public int RoundedTotal
Field Value
Type Description
System.Int32

TimeSpentTicking

Declaration
public double TimeSpentTicking
Field Value
Type Description
System.Double

Width

Declaration
public int Width
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
Type Name Description
Vector2i pos
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
Type Description
LocString

Name

Declaration
public string Name { get; set; }
Property Value
Type Description
System.String

OutputColor

Declaration
public Color OutputColor { get; set; }
Property Value
Type Description
Color

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
Type Description
Range

Settings

Declaration
public WorldLayerSettings Settings { get; set; }
Property Value
Type Description
WorldLayerSettings

SettingsType

Declaration
public virtual Type SettingsType { get; }
Property Value
Type Description
System.Type

Size

Declaration
public Vector2i Size { get; }
Property Value
Type Description
Vector2i

StorageHandle

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

UnitDescription

Declaration
public LocString UnitDescription { get; set; }
Property Value
Type Description
LocString

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
Type Name Description
IWorldLayerInteraction interaction
IWorldLayerLastTickView[] dependencies

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
Type Name Description
WorldArea area
Returns
Type Description
System.Single

AverageOverBoundaryAlignedWorldAreaLastTick(WorldArea)

Declaration
public float AverageOverBoundaryAlignedWorldAreaLastTick(WorldArea area = null)
Parameters
Type Name Description
WorldArea area
Returns
Type Description
System.Single

AverageOverBoundaryAlignedWorldPos(Vector2i)

Declaration
public float AverageOverBoundaryAlignedWorldPos(Vector2i pos)
Parameters
Type Name Description
Vector2i pos
Returns
Type Description
System.Single

BackwardsCompatibilityCheck()

Declaration
public virtual void BackwardsCompatibilityCheck()

Clear()

Declaration
public void Clear()

DoTick()

Declaration
public void DoTick()

EntryWorldPos(Vector2i)

Declaration
public float EntryWorldPos(Vector2i pos)
Parameters
Type Name Description
Vector2i pos
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
Type Name Description
System.Int32 voxelsPerEntry
WorldLayer[] dependencies
System.Action<Vector2i, WorldArea, System.Single[], WorldLayerNeighborInfo[], System.Int32> action

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

FuncAtWorldPos(Vector2i, Func<Vector2i, Single, Single>)

Declaration
public float FuncAtWorldPos(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

GetValue(LayerPosition)

Gets the layer at layerPos. If granularity different then will translate the value.

Declaration
public float GetValue(LayerPosition layerPos)
Parameters
Type Name Description
LayerPosition layerPos
Returns
Type Description
System.Single

Init()

Declaration
public void Init()

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
Type Name Description
IWorldLayerInteraction interaction
WorldLayer[] initDependencies

InitSelf()

Declaration
protected virtual void InitSelf()

LayerPosToWorldArea(Vector2i)

Declaration
public WorldArea LayerPosToWorldArea(Vector2i pos)
Parameters
Type Name Description
Vector2i pos
Returns
Type Description
WorldArea

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
Type Description
WorldArea

LayerPosToWorldPos(Vector2)

Declaration
public Vector2i LayerPosToWorldPos(Vector2 pos)
Parameters
Type Name Description
Vector2 pos
Returns
Type Description
Vector2i

MarkDirty()

Declaration
public void MarkDirty()

MigrateVersion()

Declaration
public virtual bool MigrateVersion()
Returns
Type Description
System.Boolean

Modify()

Declaration
public void Modify()

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
Type Name Description
Vector2i pos
Returns
Type Description
WorldArea

PercentToRawPos(Vector2)

Declaration
public Vector2 PercentToRawPos(Vector2 pos)
Parameters
Type Name Description
Vector2 pos
Returns
Type Description
Vector2

PercentToWorldPos(Vector2)

Declaration
public Vector2 PercentToWorldPos(Vector2 pos)
Parameters
Type Name Description
Vector2 pos
Returns
Type Description
Vector2

PostLoad()

Declaration
public void PostLoad()

PostLoadSelf()

Declaration
protected virtual void PostLoadSelf()

PullLayer(IWorldLayerPuller)

Declaration
public void PullLayer(IWorldLayerPuller worldLayerPuller)
Parameters
Type Name Description
IWorldLayerPuller worldLayerPuller

PullLayerNonExclusive(IWorldLayerPuller)

Declaration
public void PullLayerNonExclusive(IWorldLayerPuller worldLayerPuller)
Parameters
Type Name Description
IWorldLayerPuller worldLayerPuller

PullStartupLayer(IStartupWorldLayerPuller)

Pulls startup value for layer using puller.

Declaration
public void PullStartupLayer(IStartupWorldLayerPuller puller)
Parameters
Type Name Description
IStartupWorldLayerPuller puller

PushLayers(IWorldLayerPusher)

Push layers with pusher.

Declaration
public static void PushLayers(IWorldLayerPusher pusher)
Parameters
Type Name Description
IWorldLayerPusher pusher

RawEntry(Vector2i)

Declaration
public float RawEntry(Vector2i pos)
Parameters
Type Name Description
Vector2i pos
Returns
Type Description
System.Single

RecordPrevious()

Declaration
public void RecordPrevious()

SafeEntry(Vector2i)

Declaration
public float SafeEntry(Vector2i pos)
Parameters
Type Name Description
Vector2i pos
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
public void Tick()

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
Type Name Description
Vector2i layerPos
Returns
Type Description
System.String

Transform(Func<Single, Single>)

Declaration
public void Transform(Func<float, float> func)
Parameters
Type Name Description
System.Func<System.Single, System.Single> func

TransformInArea(WorldArea, Func<Single, Single>)

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
Type Name Description
WorldLayer other
Vector2i layerPos
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
Type Name Description
WorldLayer other
Vector2i layerPos
Returns
Type Description
System.Single

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

ValStringTooltip(Single, Boolean)

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
Type Name Description
Vector2i pos
Returns
Type Description
Vector2i

WrapPos(Vector2i)

Declaration
public Vector2i WrapPos(Vector2i pos)
Parameters
Type Name Description
Vector2i pos
Returns
Type Description
Vector2i

Implements

IStorage
ISerializable
IController
IViewController
IHasUniversalID
IWorldLayerView
IWorldLayerLastTickView
IHeatMapOverlay
IOverlayWithDescribableUnits
IMinimapOption
IMinimapCategorizedOption
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾