public void JoinBlock()
        {
            if (_blockStorage.Blocks.Count <= 0)
            {
                return;
            }

            var block   = _blockStorage.Blocks[0];
            var texture = _shapeTextureProvider.GetTexture(block.Shape);

            foreach (var pos in _shapeUtil.IterateBlockSections(block))
            {
                _levelModel.AddBlock(pos, texture);
            }

            _audioController.ReportEvent(EAudioEventType.BlockJoined);

            _blockStorage.RemoveBlock(block);
        }
Example #2
0
 public bool CheckOverlappingLevelBlocks(Vector3Int position, Quaternion rotation, BlockShapeData shape)
 {
     return(_shapeUtil.IterateBlockSections(position, rotation, shape)
            .Any(p => _levelModel.CheckHasBlock(p)));
 }