Show / Hide Table of Contents

Class Array2D<T>

Inheritance
System.Object
Array2D<T>
Implements
System.Collections.Generic.IEnumerable<T>
System.Collections.IEnumerable
System.ICloneable
Namespace: Eco.Shared.Utils
Assembly: Eco.Shared.dll
Syntax
[Serialized]
public class Array2D<T> : Object, IEnumerable<T>, IEnumerable, ICloneable
Type Parameters
Name Description
T

Constructors

Array2D()

Declaration
public Array2D()

Array2D(Vector2i)

Declaration
public Array2D(Vector2i size)
Parameters
Type Name Description
Vector2i size

Array2D(Array2D<T>)

Declaration
public Array2D(Array2D<T> other)
Parameters
Type Name Description
Array2D<T> other

Properties

Array

Declaration
[Serialized]
public T[] Array { get; set; }
Property Value
Type Description
T[]

CalcSize

Declaration
public int CalcSize { get; }
Property Value
Type Description
System.Int32

Item[Vector2i]

Declaration
public T this[Vector2i v] { get; set; }
Parameters
Type Name Description
Vector2i v
Property Value
Type Description
T

Item[WorldPosition3i]

Declaration
public T this[WorldPosition3i v] { get; set; }
Parameters
Type Name Description
WorldPosition3i v
Property Value
Type Description
T

Item[Int32]

Declaration
public T this[int index] { get; set; }
Parameters
Type Name Description
System.Int32 index
Property Value
Type Description
T

Item[Int32, Int32]

Declaration
public T this[int x, int y] { get; set; }
Parameters
Type Name Description
System.Int32 x
System.Int32 y
Property Value
Type Description
T

Length

Declaration
public int Length { get; }
Property Value
Type Description
System.Int32

Size

Declaration
[Serialized]
public Vector2i Size { get; set; }
Property Value
Type Description
Vector2i

Methods

Clear()

Declaration
public void Clear()

Clone()

Declaration
public object Clone()
Returns
Type Description
System.Object

Fill(T)

Declaration
public void Fill(T value)
Parameters
Type Name Description
T value

ForEach(Action<Vector2i, T>)

Declaration
public void ForEach(Action<Vector2i, T> func)
Parameters
Type Name Description
System.Action<Vector2i, T> func

ForEachRef(ActionRef<T, Vector2i>)

Runs a function on each entry, but accepts the value by ref so it can change the array

Declaration
public void ForEachRef(ActionRef<T, Vector2i> func)
Parameters
Type Name Description
ActionRef<T, Vector2i> func

GetEnumerator()

Declaration
public IEnumerator<T> GetEnumerator()
Returns
Type Description
System.Collections.Generic.IEnumerator<T>

GetRef(Vector2i)

Declaration
public ref T GetRef(Vector2i pos)
Parameters
Type Name Description
Vector2i pos
Returns
Type Description
T

Index(Vector2i)

Declaration
public int Index(Vector2i v)
Parameters
Type Name Description
Vector2i v
Returns
Type Description
System.Int32

Index(Int32, Int32)

Declaration
public int Index(int x, int y)
Parameters
Type Name Description
System.Int32 x
System.Int32 y
Returns
Type Description
System.Int32

Index(Int32, Int32, Int32)

Declaration
public static int Index(int x, int y, int size)
Parameters
Type Name Description
System.Int32 x
System.Int32 y
System.Int32 size
Returns
Type Description
System.Int32

IndexToPos(Int32)

Declaration
public Vector2i IndexToPos(int index)
Parameters
Type Name Description
System.Int32 index
Returns
Type Description
Vector2i

ReadFromStream(MemoryStream)

Creates Array2D<T> from stream.

Declaration
public static Array2D<T> ReadFromStream(MemoryStream stream)
Parameters
Type Name Description
System.IO.MemoryStream stream
Returns
Type Description
Array2D<T>

Select<TOut>(Func<Vector2i, T, TOut>)

Transforms the map using the given transformation function.

Declaration
public IEnumerable<TOut> Select<TOut>(Func<Vector2i, T, TOut> func)
Parameters
Type Name Description
System.Func<Vector2i, T, TOut> func
Returns
Type Description
System.Collections.Generic.IEnumerable<TOut>
Type Parameters
Name Description
TOut

Val(Vector2i)

Declaration
public T Val(Vector2i v)
Parameters
Type Name Description
Vector2i v
Returns
Type Description
T

Val(Int32)

Declaration
public T Val(int index)
Parameters
Type Name Description
System.Int32 index
Returns
Type Description
T

Implements

System.Collections.Generic.IEnumerable<>
System.Collections.IEnumerable
System.ICloneable

Extension Methods

Array2DExtensions.AllVals<T>(Array2D<T>)
Array2DExtensions.GeneratedBlurredArray<T>(Array2D<T>, Int32, Array2DExtensions.BlendFunc<T>)
CommandLine.FeedFromCommandLine(Object)
CommandLine.ToCommandLineArgs(Object, Func<Object, Boolean>)
CompressedArrayUtils.ToBytes<T>(Array2D<T>)
CompressedArrayUtils.WriteBytesTo<T>(Array2D<T>, MemoryStream)
CompressedArrayUtils.TransformInPlace<T>(Array2D<T>, Func<Vector2i, T, T>)
CompressedArrayUtils.Set2D<T>(Array2D<T>, Func<Vector2i, T>)
ListUtil.DepthFirstTraversal<T>(T, Func<T, IEnumerable<T>>)
EnumerableExtensions.SingleItemAsEnumerable<T>(T)
EventUtils.RaiseEvent<TEventArgs>(Object, String, TEventArgs)
PredicateUtils.MatchesAll<TEnumerable, T>(T, TEnumerable)
PredicateUtils.MatchesAll<T>(T, Func<T, Boolean>[])
PredicateUtils.MatchesAny<TEnumerable, T>(T, TEnumerable)
ReflectionUtils.PropertyValue<T>(Object, PropertyInfo)
ReflectionUtils.TryGetPropertyValueByName<T>(Object, String, out T)
ReflectionUtils.GetPropertyValueByName<T>(Object, String)
ReflectionUtils.SetPropertyByName(Object, String, Object)
ReflectionUtils.GetStructPropertyByName<T>(Object, String)
ReflectionUtils.GetStringPropertyByName(Object, String)
ReflectionUtils.ZipByProperty<T>(Object, Object, Object, Func<T, T, T>)
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾