Beispiel #1
0
        private void OnBeforeWrite(LandscapeCursorBeforeWriteEventArgs e)
        {
            var handler = BeforeWrite;

            if (handler != null)
            {
                handler(this, e);
            }
        }
        void CursorBeforeWrite(object sender, LandscapeCursorBeforeWriteEventArgs e)
        {
            var chunkPos = BlockHelper.BlockToChunkPosition(e.GlobalPosition);

            if (!_affectedChunks.ContainsKey(chunkPos))
            {
                var chunk             = _server.LandscapeManager.GetChunk(chunkPos);
                var chunkDataProvider = (InsideDataProvider)chunk.BlockData;

                chunkDataProvider.BeginTransaction();

                _affectedChunks.Add(chunkPos, chunkDataProvider);
            }
        }