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); }
public bool CheckOverlappingLevelBlocks(Vector3Int position, Quaternion rotation, BlockShapeData shape) { return(_shapeUtil.IterateBlockSections(position, rotation, shape) .Any(p => _levelModel.CheckHasBlock(p))); }