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 |
|
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> |
|
RoundedResolutionAdjustedTotal
Declaration
public int RoundedResolutionAdjustedTotal
Field Value
Type |
Description |
System.Int32 |
|
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
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 |
|
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
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
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 |
|
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