Esempio n. 1
0
        private Chunk LoadChunk(IntVector2 worldPosition)
        {
            var serializedChunk   = DataReader.Read(worldPosition.ToString(), DataTypes.CurrentGame);
            var serializableChunk = SerializableChunk.Deserialize(serializedChunk);

            var chunk = serializableChunk.ToObject();
            var chunkActivationCommand = new ChunkActivationCommand(chunk, serializableChunk.ReconstructCoroutine);

            _chunkActivationCommands.Enqueue(chunkActivationCommand);

            return(chunk);
        }
Esempio n. 2
0
        private Chunk BuildChunk(IntVector2 worldPosition)
        {
            var cBuilder = GetBuilderAtPosition(worldPosition);

            _spaceArchitect.CheckForSpaces(cBuilder);

            if (_bPicker != null)
            {
                var blocks = _bPicker.Pick(cBuilder);
                cBuilder.AddBlocks(blocks);
            }

            cBuilder.SetFill(GetFill(cBuilder.Depth));

            var chunk = cBuilder.Build();
            var chunkActivationCommand = new ChunkActivationCommand(chunk, cBuilder.BuildCoroutine);

            _chunkActivationCommands.Enqueue(chunkActivationCommand);

            return(chunk);
        }