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
Assembly: Eco.Shared.dll
Syntax
public abstract class World : Object
Constructors
World()
Declaration
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
ChunkSize
Declaration
public static Vector3i ChunkSize { get; }
Property Value
Exists
Declaration
public static bool Exists { get; }
Property Value
Type |
Description |
System.Boolean |
|
MaxChunkPos
Declaration
public static Vector3i MaxChunkPos { get; }
Property Value
MinChunkPos
Declaration
public static Vector3i MinChunkPos { get; }
Property Value
SizeDescription
Declaration
public static string SizeDescription { get; }
Property Value
Type |
Description |
System.String |
|
VoxelSize
Declaration
public static Vector3i VoxelSize { get; }
Property Value
WrappedChunkSize
Declaration
public static Vector3i WrappedChunkSize { get; }
Property Value
WrappedVoxelSize
Declaration
public static Vector3i WrappedVoxelSize { get; }
Property Value
Methods
ChunkAndNeighbors(WrappedWorldPosition3i)
Declaration
public static IEnumerable<Vector3i> ChunkAndNeighbors(WrappedWorldPosition3i worldPos)
Parameters
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<Vector3i> |
|
ClosestWrappedLocation(Vector2, Vector2)
Declaration
public static Vector2 ClosestWrappedLocation(Vector2 viewPosition, Vector2 position)
Parameters
Returns
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 |
|
DescribeDistance(Vector2, Single, Boolean)
Declaration
public static LocString DescribeDistance(Vector2 toDest, float dist, bool shortDesc = false)
Parameters
Type |
Name |
Description |
Vector2 |
toDest |
|
System.Single |
dist |
|
System.Boolean |
shortDesc |
|
Returns
DescribeDistance(IPositionAndBounds, IPositionAndBounds, Boolean)
Declaration
public static LocString DescribeDistance(IPositionAndBounds me, IPositionAndBounds other, bool shortDesc = false)
Parameters
Returns
DescribeDistance(Vector3, Vector3, Boolean)
Declaration
public static LocString DescribeDistance(Vector3 mypos, Vector3 otherPos, bool shortDesc = false)
Parameters
Type |
Name |
Description |
System.Numerics.Vector3 |
mypos |
|
System.Numerics.Vector3 |
otherPos |
|
System.Boolean |
shortDesc |
|
Returns
Destroy()
Declaration
public static void Destroy()
GetChunks(WorldRange)
Declaration
public static IEnumerable<IChunk> GetChunks(WorldRange range)
Parameters
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<IChunk> |
|
GetNeighborChunks(Vector3i, Vector3i)
Declaration
public static IEnumerable<Vector3i> GetNeighborChunks(Vector3i chunkPos, Vector3i localPos)
Parameters
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
GetWrappedWorldPosition(Vector2)
Declaration
public static Vector2 GetWrappedWorldPosition(Vector2 worldPos)
Parameters
Type |
Name |
Description |
Vector2 |
worldPos |
|
Returns
GetWrappedWorldPosition(Vector2i)
Declaration
public static Vector2i GetWrappedWorldPosition(Vector2i worldPos)
Parameters
Returns
GetWrappedWorldPosition(Vector3i)
Declaration
public static Vector3i GetWrappedWorldPosition(Vector3i worldPos)
Parameters
Returns
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
ToChunkPosition(WrappedPosition3i)
Declaration
public static Vector3i ToChunkPosition(WrappedPosition3i worldPos)
Parameters
Returns
ToChunkRange(WorldRange)
Converts worldRange
to chunk range. Works with negative min/max positions.
Declaration
public static WorldRange ToChunkRange(WorldRange worldRange)
Parameters
Returns
ToChunkSpace(Vector3i)
Declaration
public static Vector3i ToChunkSpace(Vector3i worldPosition)
Parameters
Type |
Name |
Description |
Vector3i |
worldPosition |
|
Returns
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)
Declaration
public static Vector3i ToChunkSpace(Vector3 worldPosition)
Parameters
Type |
Name |
Description |
System.Numerics.Vector3 |
worldPosition |
|
Returns
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
Returns
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
Returns
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
ToMapPosition(Vector2i, Vector2i)
Declaration
public static Vector2i ToMapPosition(Vector2i chunkPosition, Vector2i localPosition)
Parameters
Returns
ToMapPosition(Vector3i, Vector3i)
Declaration
public static Vector3i ToMapPosition(Vector3i chunkPosition, Vector3i localPosition)
Parameters
Returns
WrappedDistance(Vector2, Vector2)
Declaration
public static float WrappedDistance(Vector2 viewPosition, Vector2 position)
Parameters
Returns
Type |
Description |
System.Single |
|
WrappedDistance(WrappedPosition3, WrappedPosition3)
Declaration
public static float WrappedDistance(WrappedPosition3 viewPosition, WrappedPosition3 position)
Parameters
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
Returns
Type |
Description |
System.Single |
|
WrappedDistanceSq(WrappedPosition3, WrappedPosition3)
Declaration
public static float WrappedDistanceSq(WrappedPosition3 viewPosition, WrappedPosition3 position)
Parameters
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