Show / Hide Table of Contents

Class ChunkGrid<TChunk>

Inheritance
System.Object
ChunkGrid<TChunk>
Implements
IChunkGrid
Namespace: Eco.Shared.Voxel
Assembly: Eco.Shared.dll
Syntax
public abstract class ChunkGrid<TChunk> : Object, IChunkGrid where TChunk : class, IChunk
Type Parameters
Name Description
TChunk

Constructors

ChunkGrid()

Declaration
public ChunkGrid()

ChunkGrid(IChunkContainer<TChunk>, Boolean)

Declaration
public ChunkGrid(IChunkContainer<TChunk> container, bool threadSafe)
Parameters
Type Name Description
IChunkContainer<TChunk> container
System.Boolean threadSafe

Properties

Chunks

Declaration
public IEnumerable<TChunk> Chunks { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<TChunk>

ChunksCount

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

Guid

Declaration
public Guid Guid { get; protected set; }
Property Value
Type Description
System.Guid

MaxChunkPos

Declaration
public Vector3i MaxChunkPos { get; }
Property Value
Type Description
Vector3i

MinChunkPos

Declaration
public Vector3i MinChunkPos { get; }
Property Value
Type Description
Vector3i

WrappedChunkSize

Declaration
public Vector3i WrappedChunkSize { get; }
Property Value
Type Description
Vector3i

WrappedVoxelSize

Declaration
public Vector3i WrappedVoxelSize { get; }
Property Value
Type Description
Vector3i

Methods

AddChunk(TChunk)

Declaration
public void AddChunk(TChunk chunk)
Parameters
Type Name Description
TChunk chunk

Clear(Guid)

Declaration
public virtual void Clear(Guid newGuid)
Parameters
Type Name Description
System.Guid newGuid

ClosestWrappedLocation(Vector3, Vector3)

Declaration
public Vector3 ClosestWrappedLocation(Vector3 viewPosition, Vector3 position)
Parameters
Type Name Description
System.Numerics.Vector3 viewPosition
System.Numerics.Vector3 position
Returns
Type Description
System.Numerics.Vector3

CreateChunk(Vector3i)

Declaration
public abstract TChunk CreateChunk(Vector3i chunkPos)
Parameters
Type Name Description
Vector3i chunkPos
Returns
Type Description
TChunk

GetChunk(Vector3i)

Declaration
public TChunk GetChunk(Vector3i chunkPos)
Parameters
Type Name Description
Vector3i chunkPos
Returns
Type Description
TChunk

GetChunkColumn(Vector2i)

Returns all non-empty chunks in chunk column.

Declaration
public IEnumerable<TChunk> GetChunkColumn(Vector2i column)
Parameters
Type Name Description
Vector2i column
Returns
Type Description
System.Collections.Generic.IEnumerable<TChunk>

GetChunks(WorldRange)

Declaration
public IEnumerable<IChunk> GetChunks(WorldRange range)
Parameters
Type Name Description
WorldRange range
Returns
Type Description
System.Collections.Generic.IEnumerable<IChunk>

GetChunks(IEnumerable<WorldRange>)

Gets all chunks in ranges (unwrapped).

Declaration
public IEnumerable<IChunk> GetChunks(IEnumerable<WorldRange> ranges)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<WorldRange> ranges
Returns
Type Description
System.Collections.Generic.IEnumerable<IChunk>

GetOrAddChunk(Vector3i)

Declaration
public TChunk GetOrAddChunk(Vector3i chunkPos)
Parameters
Type Name Description
Vector3i chunkPos
Returns
Type Description
TChunk

GetVisibleChunks(Vector3, Single)

Declaration
public IEnumerable<IChunk> GetVisibleChunks(Vector3 observerPosition, float viewDistance)
Parameters
Type Name Description
System.Numerics.Vector3 observerPosition
System.Single viewDistance
Returns
Type Description
System.Collections.Generic.IEnumerable<IChunk>

GetWrappedChunkPosition(Vector3i)

Declaration
protected Vector3i GetWrappedChunkPosition(Vector3i chunkPos)
Parameters
Type Name Description
Vector3i chunkPos
Returns
Type Description
Vector3i

GetWrappedChunkPositionInternal(Vector3i)

Declaration
protected Vector3i GetWrappedChunkPositionInternal(Vector3i chunkPos)
Parameters
Type Name Description
Vector3i chunkPos
Returns
Type Description
Vector3i

RemoveChunk(TChunk)

Declaration
public virtual void RemoveChunk(TChunk chunk)
Parameters
Type Name Description
TChunk chunk

SetVoxelSize(Vector3i)

Declaration
public void SetVoxelSize(Vector3i size)
Parameters
Type Name Description
Vector3i size

Events

SizeChangedEvent

Declaration
public event Action<Vector3i> SizeChangedEvent
Event Type
Type Description
System.Action<Vector3i>

Implements

IChunkGrid

Extension Methods

CommandLine.FeedFromCommandLine(Object)
CommandLine.ToCommandLineArgs(Object, Func<Object, Boolean>)
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
☀
☾