/// <summary> /// Gets or creates the chunk at the given position. /// </summary> /// <param name="chunkPos">The chunk position.</param> /// <returns>The block chunk.</returns> private BlockChunk GetChunk(ChunkPosition chunkPos) { foreach (var chunk in m_Chunks) { if (chunk.Position.Equals(chunkPos)) { return(chunk); } } var c = m_ChunkCreator.LoadChunk(chunkPos); m_Chunks.Add(c); return(c); }
/// <summary> /// Called when a new chunk is created (or loaded). /// </summary> /// <param name="ev">The event.</param> private void OnChunkCreated(BlockContainerCreatedEvent ev) { var chunk = ev.BlockContainer; m_Chunks.Add(m_ChunkCreator.LoadChunk(chunk.Position, chunk.Size.Value, transform)); }