private void LoadCurrentLevel(LevelData data)
        {
            if (_isCreatorMode)
            {
                _levelSaver.SetActive(true);
                var blockData = new BlockDataDTO
                {
                    Direction       = DirectionType.Horizontal,
                    Position        = new Vector2Int(0, 0),
                    ConnectorsState = new Vector2Int(0, 0)
                };

                for (var i = 0; i < 8; ++i)
                {
                    var block = GetNewChainBlock(blockData, false);
                    _panel.AddBlock(block);
                }

                blockData = new BlockDataDTO
                {
                    Direction       = DirectionType.Vertical,
                    Position        = new Vector2Int(0, 0),
                    ConnectorsState = new Vector2Int(0, 0)
                };

                for (var i = 0; i < 8; ++i)
                {
                    var block = GetNewChainBlock(blockData, false);
                    _panel.AddBlock(block);
                }

                return;
            }

            foreach (var blockData in data.InitialBlocks)
            {
                var block = GetNewChainBlock(blockData, true);
                _field.AddInitialBlock(block, blockData.Position);
            }

            foreach (var blockData in data.BlocksOnPanel)
            {
                var block = GetNewChainBlock(blockData, false);
                _panel.AddBlock(block);
            }

            _timer.StartTimer(data.TimeLimit);
        }