public EBlockTextureId GetTexture(BlockShapeData shapeData) { if (!_textures.TryGetValue(shapeData.ShapeType, out var textureId)) { UnityEngine.Debug.LogError($"{this}: texture id for '{shapeData.ShapeType}' was not found."); } return(textureId); }
public IEnumerable <Vector3Int> IterateBlockSections(Vector3Int position, Quaternion rotation, BlockShapeData shapeData) { var center = _levelTransform.TransformPosition(position); foreach (var seg in shapeData.Sections) { var pos = center + rotation * seg; yield return(_levelTransform.InverseTransformPosition(pos)); } }