Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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));
        }