/// <summary> /// Creates a new Unity world builder object. /// </summary> /// <param name="transform">The transform to add chunk gameobjects to.</param> /// <param name="blockList">The block list to read from.</param> /// <param name="chunkSize">The chunk size of the world.</param> /// <param name="id">The ID value of the world.</param> internal UnityWorldBuilder(Transform transform, BlockListManager blockList, WorldProperties worldProperties) { ChunkSize = worldProperties.ChunkSize; var container = new WorldContainer(worldProperties); container.EventQueue.OnWorldEvent += OnBlockWorldEvent; { // TODO TEMP CODE REMOVE THIS container.BlockList.UpdateBlockType(CreateBlock(2, "Grass", 0)); container.BlockList.UpdateBlockType(CreateBlock(3, "SideDirt", 1)); container.BlockList.UpdateBlockType(CreateBlock(4, "Dirt", 2)); } m_ServerThread = new ServerThread(container); m_ChunkCreator = new ChunkCreator(transform, ChunkSize); m_ChunkMeshBuilder = new ChunkMeshBuilder(blockList); }
/// <summary> /// Creates a new world object. /// </summary> /// <param name="chunkSize">The chunk size.</param> /// <param name="id">The ID for this world.</param> internal World(GridSize chunkSize, string id) { ChunkSize = chunkSize; ID = id; }
/// <summary> /// Creates a new chunk object. /// </summary> /// <param name="chunkSize">The chunk size.</param> /// <param name="position">The size of this chunk in the world.</param> internal Chunk(GridSize chunkSize, ChunkPosition position) { Size = chunkSize; Position = position; Blocks = new ushort[Size.Volume]; }
/// <summary> /// Creates a new chunk creator object. /// </summary> /// <param name="transform">The transform to add objects to.</param> internal ChunkCreator(Transform transform, GridSize chunkSize) { m_Transform = transform; m_ChunkSize = chunkSize; }
internal StandardDistributor(GridSize chunkSize, ServerBlockList blockList) { m_ChunkSize = chunkSize; m_BlockList = blockList; }
internal ChunkPropertiesPool(GridSize chunkSize) { m_ChunkSize = chunkSize; }