using System.Collections.Generic; using UnityEngine; // Shapes © Freya Holmér - https://twitter.com/FreyaHolmer/ // Website & Documentation - https://acegikmo.com/shapes/ // this file is auto-generated by CodegenMpbs namespace Shapes { internal class MpbCone : MetaMpb { internal readonly List length = InitList(); internal readonly List radius = InitList(); internal readonly List sizeSpace = InitList(); protected override void TransferShapeProperties() { Transfer( ShapesMaterialUtils.propLength, length ); Transfer( ShapesMaterialUtils.propRadius, radius ); Transfer( ShapesMaterialUtils.propSizeSpace, sizeSpace ); } } internal class MpbCuboid : MetaMpb { internal readonly List size = InitList(); internal readonly List sizeSpace = InitList(); protected override void TransferShapeProperties() { Transfer( ShapesMaterialUtils.propSize, size ); Transfer( ShapesMaterialUtils.propSizeSpace, sizeSpace ); } } internal class MpbDisc : MetaMpb, IDashableMpb { internal readonly List alignment = InitList(); internal readonly List angleEnd = InitList(); internal readonly List angleStart = InitList(); internal readonly List colorInnerEnd = InitList(); internal readonly List colorOuterEnd = InitList(); internal readonly List colorOuterStart = InitList(); internal readonly List radius = InitList(); internal readonly List radiusSpace = InitList(); internal readonly List roundCaps = InitList(); internal readonly List scaleMode = InitList(); internal readonly List thickness = InitList(); internal readonly List thicknessSpace = InitList(); // dash boilerplate List IDashableMpb.dashOffset { get; } = InitList(); List IDashableMpb.dashShapeModifier { get; } = InitList(); List IDashableMpb.dashSize { get; } = InitList(); List IDashableMpb.dashSnap { get; } = InitList(); List IDashableMpb.dashSpace { get; } = InitList(); List IDashableMpb.dashSpacing { get; } = InitList(); List IDashableMpb.dashType { get; } = InitList(); protected override void TransferShapeProperties() { Transfer( ShapesMaterialUtils.propAlignment, alignment ); Transfer( ShapesMaterialUtils.propAngEnd, angleEnd ); Transfer( ShapesMaterialUtils.propAngStart, angleStart ); Transfer( ShapesMaterialUtils.propColorInnerEnd, colorInnerEnd ); Transfer( ShapesMaterialUtils.propColorOuterEnd, colorOuterEnd ); Transfer( ShapesMaterialUtils.propColorOuterStart, colorOuterStart ); Transfer( ShapesMaterialUtils.propRadius, radius ); Transfer( ShapesMaterialUtils.propRadiusSpace, radiusSpace ); Transfer( ShapesMaterialUtils.propRoundCaps, roundCaps ); Transfer( ShapesMaterialUtils.propScaleMode, scaleMode ); Transfer( ShapesMaterialUtils.propThickness, thickness ); Transfer( ShapesMaterialUtils.propThicknessSpace, thicknessSpace ); } } internal class MpbLine2D : MetaMpb, IDashableMpb { internal readonly List alignment = InitList(); internal readonly List colorEnd = InitList(); internal readonly List pointEnd = InitList(); internal readonly List pointStart = InitList(); internal readonly List scaleMode = InitList(); internal readonly List thickness = InitList(); internal readonly List thicknessSpace = InitList(); // dash boilerplate List IDashableMpb.dashOffset { get; } = InitList(); List IDashableMpb.dashShapeModifier { get; } = InitList(); List IDashableMpb.dashSize { get; } = InitList(); List IDashableMpb.dashSnap { get; } = InitList(); List IDashableMpb.dashSpace { get; } = InitList(); List IDashableMpb.dashSpacing { get; } = InitList(); List IDashableMpb.dashType { get; } = InitList(); protected override void TransferShapeProperties() { Transfer( ShapesMaterialUtils.propAlignment, alignment ); Transfer( ShapesMaterialUtils.propColorEnd, colorEnd ); Transfer( ShapesMaterialUtils.propPointEnd, pointEnd ); Transfer( ShapesMaterialUtils.propPointStart, pointStart ); Transfer( ShapesMaterialUtils.propScaleMode, scaleMode ); Transfer( ShapesMaterialUtils.propThickness, thickness ); Transfer( ShapesMaterialUtils.propThicknessSpace, thicknessSpace ); } } internal class MpbLine3D : MetaMpb, IDashableMpb { internal readonly List colorEnd = InitList(); internal readonly List pointEnd = InitList(); internal readonly List pointStart = InitList(); internal readonly List scaleMode = InitList(); internal readonly List thickness = InitList(); internal readonly List thicknessSpace = InitList(); // dash boilerplate List IDashableMpb.dashOffset { get; } = InitList(); List IDashableMpb.dashShapeModifier { get; } = InitList(); List IDashableMpb.dashSize { get; } = InitList(); List IDashableMpb.dashSnap { get; } = InitList(); List IDashableMpb.dashSpace { get; } = InitList(); List IDashableMpb.dashSpacing { get; } = InitList(); List IDashableMpb.dashType { get; } = InitList(); protected override void TransferShapeProperties() { Transfer( ShapesMaterialUtils.propColorEnd, colorEnd ); Transfer( ShapesMaterialUtils.propPointEnd, pointEnd ); Transfer( ShapesMaterialUtils.propPointStart, pointStart ); Transfer( ShapesMaterialUtils.propScaleMode, scaleMode ); Transfer( ShapesMaterialUtils.propThickness, thickness ); Transfer( ShapesMaterialUtils.propThicknessSpace, thicknessSpace ); } } internal class MpbPolygon : MetaMpb, IFillableMpb { // fill boilerplate List IFillableMpb.fillColorEnd { get; } = InitList(); List IFillableMpb.fillEnd { get; } = InitList(); List IFillableMpb.fillSpace { get; } = InitList(); List IFillableMpb.fillStart { get; } = InitList(); List IFillableMpb.fillType { get; } = InitList(); protected override void TransferShapeProperties() => _ = 0; // :> } internal class MpbPolyline2D : MetaMpb { internal readonly List alignment = InitList(); internal readonly List scaleMode = InitList(); internal readonly List thickness = InitList(); internal readonly List thicknessSpace = InitList(); protected override void TransferShapeProperties() { Transfer( ShapesMaterialUtils.propAlignment, alignment ); Transfer( ShapesMaterialUtils.propScaleMode, scaleMode ); Transfer( ShapesMaterialUtils.propThickness, thickness ); Transfer( ShapesMaterialUtils.propThicknessSpace, thicknessSpace ); } } internal class MpbQuad : MetaMpb { internal readonly List a = InitList(); internal readonly List b = InitList(); internal readonly List c = InitList(); internal readonly List colorB = InitList(); internal readonly List colorC = InitList(); internal readonly List colorD = InitList(); internal readonly List d = InitList(); protected override void TransferShapeProperties() { Transfer( ShapesMaterialUtils.propA, a ); Transfer( ShapesMaterialUtils.propB, b ); Transfer( ShapesMaterialUtils.propC, c ); Transfer( ShapesMaterialUtils.propColorB, colorB ); Transfer( ShapesMaterialUtils.propColorC, colorC ); Transfer( ShapesMaterialUtils.propColorD, colorD ); Transfer( ShapesMaterialUtils.propD, d ); } } internal class MpbRect : MetaMpb, IFillableMpb, IDashableMpb { internal readonly List cornerRadii = InitList(); internal readonly List rect = InitList(); internal readonly List scaleMode = InitList(); internal readonly List thickness = InitList(); internal readonly List thicknessSpace = InitList(); // fill boilerplate List IFillableMpb.fillColorEnd { get; } = InitList(); List IFillableMpb.fillEnd { get; } = InitList(); List IFillableMpb.fillSpace { get; } = InitList(); List IFillableMpb.fillStart { get; } = InitList(); List IFillableMpb.fillType { get; } = InitList(); // dash boilerplate List IDashableMpb.dashOffset { get; } = InitList(); List IDashableMpb.dashShapeModifier { get; } = InitList(); List IDashableMpb.dashSize { get; } = InitList(); List IDashableMpb.dashSnap { get; } = InitList(); List IDashableMpb.dashSpace { get; } = InitList(); List IDashableMpb.dashSpacing { get; } = InitList(); List IDashableMpb.dashType { get; } = InitList(); protected override void TransferShapeProperties() { Transfer( ShapesMaterialUtils.propCornerRadii, cornerRadii ); Transfer( ShapesMaterialUtils.propRect, rect ); Transfer( ShapesMaterialUtils.propScaleMode, scaleMode ); Transfer( ShapesMaterialUtils.propThickness, thickness ); Transfer( ShapesMaterialUtils.propThicknessSpace, thicknessSpace ); } } internal class MpbRegularPolygon : MetaMpb, IFillableMpb, IDashableMpb { internal readonly List alignment = InitList(); internal readonly List angle = InitList(); internal readonly List hollow = InitList(); internal readonly List radius = InitList(); internal readonly List radiusSpace = InitList(); internal readonly List roundness = InitList(); internal readonly List scaleMode = InitList(); internal readonly List sides = InitList(); internal readonly List thickness = InitList(); internal readonly List thicknessSpace = InitList(); // fill boilerplate List IFillableMpb.fillColorEnd { get; } = InitList(); List IFillableMpb.fillEnd { get; } = InitList(); List IFillableMpb.fillSpace { get; } = InitList(); List IFillableMpb.fillStart { get; } = InitList(); List IFillableMpb.fillType { get; } = InitList(); // dash boilerplate List IDashableMpb.dashOffset { get; } = InitList(); List IDashableMpb.dashShapeModifier { get; } = InitList(); List IDashableMpb.dashSize { get; } = InitList(); List IDashableMpb.dashSnap { get; } = InitList(); List IDashableMpb.dashSpace { get; } = InitList(); List IDashableMpb.dashSpacing { get; } = InitList(); List IDashableMpb.dashType { get; } = InitList(); protected override void TransferShapeProperties() { Transfer( ShapesMaterialUtils.propAlignment, alignment ); Transfer( ShapesMaterialUtils.propAng, angle ); Transfer( ShapesMaterialUtils.propBorder, hollow ); Transfer( ShapesMaterialUtils.propRadius, radius ); Transfer( ShapesMaterialUtils.propRadiusSpace, radiusSpace ); Transfer( ShapesMaterialUtils.propRoundness, roundness ); Transfer( ShapesMaterialUtils.propScaleMode, scaleMode ); Transfer( ShapesMaterialUtils.propSides, sides ); Transfer( ShapesMaterialUtils.propThickness, thickness ); Transfer( ShapesMaterialUtils.propThicknessSpace, thicknessSpace ); } } internal class MpbSphere : MetaMpb { internal readonly List radius = InitList(); internal readonly List radiusSpace = InitList(); protected override void TransferShapeProperties() { Transfer( ShapesMaterialUtils.propRadius, radius ); Transfer( ShapesMaterialUtils.propRadiusSpace, radiusSpace ); } } internal class MpbTorus : MetaMpb { internal readonly List angleEnd = InitList(); internal readonly List angleStart = InitList(); internal readonly List radius = InitList(); internal readonly List radiusSpace = InitList(); internal readonly List scaleMode = InitList(); internal readonly List thickness = InitList(); internal readonly List thicknessSpace = InitList(); protected override void TransferShapeProperties() { Transfer( ShapesMaterialUtils.propAngEnd, angleEnd ); Transfer( ShapesMaterialUtils.propAngStart, angleStart ); Transfer( ShapesMaterialUtils.propRadius, radius ); Transfer( ShapesMaterialUtils.propRadiusSpace, radiusSpace ); Transfer( ShapesMaterialUtils.propScaleMode, scaleMode ); Transfer( ShapesMaterialUtils.propThickness, thickness ); Transfer( ShapesMaterialUtils.propThicknessSpace, thicknessSpace ); } } internal class MpbTriangle : MetaMpb, IDashableMpb { internal readonly List a = InitList(); internal readonly List b = InitList(); internal readonly List c = InitList(); internal readonly List colorB = InitList(); internal readonly List colorC = InitList(); internal readonly List hollow = InitList(); internal readonly List roundness = InitList(); internal readonly List scaleMode = InitList(); internal readonly List thickness = InitList(); internal readonly List thicknessSpace = InitList(); // dash boilerplate List IDashableMpb.dashOffset { get; } = InitList(); List IDashableMpb.dashShapeModifier { get; } = InitList(); List IDashableMpb.dashSize { get; } = InitList(); List IDashableMpb.dashSnap { get; } = InitList(); List IDashableMpb.dashSpace { get; } = InitList(); List IDashableMpb.dashSpacing { get; } = InitList(); List IDashableMpb.dashType { get; } = InitList(); protected override void TransferShapeProperties() { Transfer( ShapesMaterialUtils.propA, a ); Transfer( ShapesMaterialUtils.propB, b ); Transfer( ShapesMaterialUtils.propC, c ); Transfer( ShapesMaterialUtils.propColorB, colorB ); Transfer( ShapesMaterialUtils.propColorC, colorC ); Transfer( ShapesMaterialUtils.propBorder, hollow ); Transfer( ShapesMaterialUtils.propRoundness, roundness ); Transfer( ShapesMaterialUtils.propScaleMode, scaleMode ); Transfer( ShapesMaterialUtils.propThickness, thickness ); Transfer( ShapesMaterialUtils.propThicknessSpace, thicknessSpace ); } } internal class MpbText : MetaMpb { protected override void TransferShapeProperties() => _ = 0; // :> } }