Show / Hide Table of Contents

Namespace Eco.Shared.Voxel

Classes

BlockID

Standard block IDs. These shared between client and server and should be read-only to be compatible with Burst. Client uses these block IDs as default for fully enclosed chunks or for missing chunks.

Chunk

Chunk.Encasement

ChunkGrid<TChunk>

ChunkGridExtensions

HashChunkContainer<T>

This is an alternative class to the OctreeChunkContainer, rather than storing chunks in a tree we store them in a hash table. This will use slightly more memory, but gives a faster speed lookup for single chunks, and similar speed for ranges.

Note: In order to get chunk level locking, rather than lock the whole container during each update, the Count may not always be correct and should only be treaded as a guide. e.g. Don't use Count to create a new array, create a List instead, that way if count is wrong it wont matter as the list will auto expand itself.

Octree<T>

Implements a cubic Octree.

OctreeChunkContainer<T>

OctreeNode<T>

PlotPos

PlotUtil

Functions for translating to/from property plot coordinates.

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.

WorldExtensions

Interfaces

IChunk

IChunkContainer<T>

IChunkGrid

Interface for all Chunk Grid implementations (both on server side and client-side). Chunk Grid is 3D grid of IChunk objects.

☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾