Show / Hide Table of Contents

Class World

Wrapper class around the static voxel grid that represents the world. Essentially this class exists so its easier to do WorldCache.SomeMethod() instead of WorldCache.Obj.SomeMethod(). Gets ChunkViews from the ChunkGrid. Gets Blocks from Chunks from the ChunkGrid.

Inheritance
System.Object
World
Namespace: Eco.Shared.Voxel
Assembly: Eco.Shared.dll
Syntax
public abstract class World : Object

Constructors

World()

Declaration
protected World()

Fields

WorldSizeMultiplier

Declaration
public static float WorldSizeMultiplier
Field Value
Type Description
System.Single

Properties

Area

Declaration
public static float Area { get; }
Property Value
Type Description
System.Single

Center

Declaration
public static Vector3 Center { get; }
Property Value
Type Description
System.Numerics.Vector3

ChunkGrid

Declaration
protected static IChunkGrid ChunkGrid { get; }
Property Value
Type Description
IChunkGrid

ChunkSize

Declaration
public static Vector3i ChunkSize { get; }
Property Value
Type Description
Vector3i

Exists

Declaration
public static bool Exists { get; }
Property Value
Type Description
System.Boolean

MaxChunkPos

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

MinChunkPos

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

SizeDescription

Declaration
public static string SizeDescription { get; }
Property Value
Type Description
System.String

VoxelSize

Declaration
public static Vector3i VoxelSize { get; }
Property Value
Type Description
Vector3i

WrappedChunkSize

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

WrappedVoxelSize

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

Methods

ChunkAndNeighbors(WrappedWorldPosition3i)

Declaration
public static IEnumerable<Vector3i> ChunkAndNeighbors(WrappedWorldPosition3i worldPos)
Parameters
Type Name Description
WrappedWorldPosition3i worldPos
Returns
Type Description
System.Collections.Generic.IEnumerable<Vector3i>

ClosestWrappedLocation(Vector2, Vector2)

Declaration
public static Vector2 ClosestWrappedLocation(Vector2 viewPosition, Vector2 position)
Parameters
Type Name Description
Vector2 viewPosition
Vector2 position
Returns
Type Description
Vector2

ClosestWrappedLocation(Vector3, Vector3)

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

ClosestWrappedLocationSafe(Vector3, Vector3)

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

Destroy()

Declaration
public static void Destroy()

GetChunks(WorldRange)

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

GetNeighborChunks(Vector3i, Vector3i)

Declaration
public static IEnumerable<Vector3i> GetNeighborChunks(Vector3i chunkPos, Vector3i localPos)
Parameters
Type Name Description
Vector3i chunkPos
Vector3i localPos
Returns
Type Description
System.Collections.Generic.IEnumerable<Vector3i>

GetVisibleChunks(Vector3, Single)

Declaration
public static 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>

GetWorldRangeFromPositionAndDistance(Vector3, Single)

Declaration
public static WorldRange GetWorldRangeFromPositionAndDistance(Vector3 observerPosition, float viewDistance)
Parameters
Type Name Description
System.Numerics.Vector3 observerPosition
System.Single viewDistance
Returns
Type Description
WorldRange

GetWrappedWorldPosition(Vector2)

Declaration
public static Vector2 GetWrappedWorldPosition(Vector2 worldPos)
Parameters
Type Name Description
Vector2 worldPos
Returns
Type Description
Vector2

GetWrappedWorldPosition(Vector2i)

Declaration
public static Vector2i GetWrappedWorldPosition(Vector2i worldPos)
Parameters
Type Name Description
Vector2i worldPos
Returns
Type Description
Vector2i

GetWrappedWorldPosition(Vector3i)

Declaration
public static Vector3i GetWrappedWorldPosition(Vector3i worldPos)
Parameters
Type Name Description
Vector3i worldPos
Returns
Type Description
Vector3i

GetWrappedWorldPosition(Vector3)

Declaration
public static Vector3 GetWrappedWorldPosition(Vector3 worldPos)
Parameters
Type Name Description
System.Numerics.Vector3 worldPos
Returns
Type Description
System.Numerics.Vector3

Initialize(IChunkGrid)

Declaration
public static void Initialize(IChunkGrid chunkGrid)
Parameters
Type Name Description
IChunkGrid chunkGrid

ToChunkPosition(WrappedPosition3i)

Converts WrappedWorldPosition3i to chunk position.

Declaration
public static Vector3i ToChunkPosition(WrappedPosition3i worldPos)
Parameters
Type Name Description
WrappedPosition3i worldPos
Returns
Type Description
Vector3i

ToChunkRange(WorldRange)

Converts worldRange to chunk range. Works with negative min/max positions.

Declaration
public static WorldRange ToChunkRange(WorldRange worldRange)
Parameters
Type Name Description
WorldRange worldRange
Returns
Type Description
WorldRange

ToChunkSpace(Vector3i)

Converts world space position to chunk space. Unlike ToChunkPosition(WrappedPosition3i) works with unwrapped positions and returns unwrapped chunk position.

Declaration
public static Vector3i ToChunkSpace(Vector3i worldPosition)
Parameters
Type Name Description
Vector3i worldPosition
Returns
Type Description
Vector3i

ToChunkSpace(Int32)

Converts value to chunk space. It divides value by chunk size and floors result (i.e. -1 will be -1 in chunk space, but 1 will be 0).

Declaration
public static int ToChunkSpace(int value)
Parameters
Type Name Description
System.Int32 value
Returns
Type Description
System.Int32

ToChunkSpace(Vector3)

Converts world space position to chunk space. Unlike ToChunkPosition(WrappedPosition3i) works with unwrapped positions and returns unwrapped chunk position.

Declaration
public static Vector3i ToChunkSpace(Vector3 worldPosition)
Parameters
Type Name Description
System.Numerics.Vector3 worldPosition
Returns
Type Description
Vector3i

ToChunkSpace(Single)

Converts value to chunk space. It divides value by chunk size and floors result (i.e. -1 will be -1 in chunk space, but 1 will be 0).

Declaration
public static int ToChunkSpace(float value)
Parameters
Type Name Description
System.Single value
Returns
Type Description
System.Int32

ToLocalPosition(Vector3i)

Declaration
public static Vector3i ToLocalPosition(Vector3i point)
Parameters
Type Name Description
Vector3i point
Returns
Type Description
Vector3i

ToLocalPosition(WrappedWorldPosition3i)

Returns local block position within chunk space. All chunks should be aligned to Size. Using WrappedWorldPosition3i let us skip some check and use most optimized algorithm.

Declaration
public static Vector3i ToLocalPosition(WrappedWorldPosition3i worldPos)
Parameters
Type Name Description
WrappedWorldPosition3i worldPos
Returns
Type Description
Vector3i

ToLocalPosition(Int32, Int32, Int32)

Declaration
public static Vector3i ToLocalPosition(int pointX, int pointY, int pointZ)
Parameters
Type Name Description
System.Int32 pointX
System.Int32 pointY
System.Int32 pointZ
Returns
Type Description
Vector3i

ToMapPosition(Vector2i, Vector2i)

Declaration
public static Vector2i ToMapPosition(Vector2i chunkPosition, Vector2i localPosition)
Parameters
Type Name Description
Vector2i chunkPosition
Vector2i localPosition
Returns
Type Description
Vector2i

ToMapPosition(Vector3i, Vector3i)

Declaration
public static Vector3i ToMapPosition(Vector3i chunkPosition, Vector3i localPosition)
Parameters
Type Name Description
Vector3i chunkPosition
Vector3i localPosition
Returns
Type Description
Vector3i

WrappedDistance(Vector2, Vector2)

Declaration
public static float WrappedDistance(Vector2 viewPosition, Vector2 position)
Parameters
Type Name Description
Vector2 viewPosition
Vector2 position
Returns
Type Description
System.Single

WrappedDistance(WrappedPosition3, WrappedPosition3)

Declaration
public static float WrappedDistance(WrappedPosition3 viewPosition, WrappedPosition3 position)
Parameters
Type Name Description
WrappedPosition3 viewPosition
WrappedPosition3 position
Returns
Type Description
System.Single

WrappedDistance(Vector3, Vector3)

Declaration
public static float WrappedDistance(Vector3 viewPosition, Vector3 position)
Parameters
Type Name Description
System.Numerics.Vector3 viewPosition
System.Numerics.Vector3 position
Returns
Type Description
System.Single

WrappedDistanceSq(Vector2, Vector2)

Declaration
public static float WrappedDistanceSq(Vector2 viewPosition, Vector2 position)
Parameters
Type Name Description
Vector2 viewPosition
Vector2 position
Returns
Type Description
System.Single

WrappedDistanceSq(WrappedPosition3, WrappedPosition3)

Declaration
public static float WrappedDistanceSq(WrappedPosition3 viewPosition, WrappedPosition3 position)
Parameters
Type Name Description
WrappedPosition3 viewPosition
WrappedPosition3 position
Returns
Type Description
System.Single

WrappedDistanceSq(Vector3, Vector3)

Declaration
public static float WrappedDistanceSq(Vector3 viewPosition, Vector3 position)
Parameters
Type Name Description
System.Numerics.Vector3 viewPosition
System.Numerics.Vector3 position
Returns
Type Description
System.Single

WrappedLerp(Vector3, Vector3, Single)

Declaration
public static Vector3 WrappedLerp(Vector3 start, Vector3 end, float percent)
Parameters
Type Name Description
System.Numerics.Vector3 start
System.Numerics.Vector3 end
System.Single percent
Returns
Type Description
System.Numerics.Vector3

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
☀
☾