public void Fill(BlockCoordinates[] selected) { _buffer = new List <Block>(); foreach (BlockCoordinates coordinate in selected) { if (SourceMask != null) { if (!SourceMask.Test(coordinate)) { continue; } } _buffer.Add(_level.GetBlock(coordinate)); SourceFuncion?.Invoke(coordinate); } }