Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
236 commits
Select commit Hold shift + click to select a range
a89a905
Feat: Add method to get a random triangle inside the rectangle with a…
SoloByte Nov 13, 2025
b1becff
Fix: Add polyline count check before inflating polygons to prevent cr…
SoloByte Nov 13, 2025
6d2bd8c
Refactor: Simplify rectangle outline drawing using Raylib for improve…
SoloByte Nov 13, 2025
81200a1
Feat: Rect and Quad outline drawing overhauled to use custom system i…
SoloByte Nov 13, 2025
35fef03
Fix: Small fixes with using angleDeg instead of angleRad
SoloByte Nov 13, 2025
e5de1c7
Fix: Correct formatting of XML documentation for Radius property in C…
SoloByte Nov 14, 2025
7bd1de4
Feat: DrawCircleSectorLinesInternal function started.
SoloByte Nov 14, 2025
b748a7a
Refactor: Regions added
SoloByte Nov 14, 2025
27e3c9e
Feat: Implement DrawSegmentCap method for customizable line caps
SoloByte Nov 17, 2025
6e8b5ad
Feat: Add methods for converting between arc length and central angle…
SoloByte Nov 17, 2025
f1075b4
Feat: DrawCircleLinesPercentage overhaul started.
SoloByte Nov 17, 2025
ab5223b
Fix: RelativeMousePosition in ScreenInfo fixed.
SoloByte Nov 17, 2025
430d61c
Refactor: Regions added.
SoloByte Nov 17, 2025
62f7d43
Feat: Add RelativeMousePositionCentered property for normalized mouse…
SoloByte Nov 17, 2025
8267b0a
Refactor: DrawCircleSectorLinesOpen and DrawCircleCircleLinesPercenta…
SoloByte Nov 17, 2025
03d5eb7
Feat: Rects can now handle negative size values for mirroring.
SoloByte Nov 18, 2025
19b13cb
Feat: Add CreateKnowColor method for creating ColorRgba from KnownColor
SoloByte Nov 18, 2025
5be503a
Feat: Add DrawRoundCap method for rendering rounded line caps with cu…
SoloByte Nov 18, 2025
fb2bb48
Feat: DrawCircleSectorLines / DrawCircleLinesPercentage now handle po…
SoloByte Nov 18, 2025
3682bc2
Feat: New DrawCircleSectorLinesOpenInternal function finished.
SoloByte Nov 18, 2025
460a598
Feat: Added DrawCircleLines overload with sideLength and rotDeg param…
SoloByte Nov 18, 2025
4cc9b8c
Feat: Adjust circle outline drawing to include line thickness in radi…
SoloByte Nov 18, 2025
afac4b3
Feat: Update DrawCircleLines calls to include additional parameters f…
SoloByte Nov 18, 2025
833be59
Feat: DrawSectorRingLines updated with new system.
SoloByte Nov 18, 2025
727149a
Feat: Reverse direction vector in DrawRoundCap for correct cap orient…
SoloByte Nov 18, 2025
c3d32c8
Feat: DrawTriangleLinesHelper helper function implemented in Triangle…
SoloByte Nov 19, 2025
7f85280
Feat: Drawing Triangle outlines now works correctly with the new system.
SoloByte Nov 19, 2025
cd3893f
Refactor: edgePoints parameter renamed to cornerPoints.
SoloByte Nov 19, 2025
12659de
Feat: Added GetSemiPerimeter, GetInradius, GetAreaHeron functions.
SoloByte Nov 19, 2025
00e9290
Feat: Limit lineThickness of triangle outline drawing to never fully …
SoloByte Nov 19, 2025
1b7b24b
Refactor: Regions added to QuadDrawing and RectDrawing for better cla…
SoloByte Nov 19, 2025
9f70d07
Fix: QuadDrawing and RectDrawing DrawLinesPercentage fix when percent…
SoloByte Nov 19, 2025
0676554
Fix: Remove unnecessary zero scaling factor from triangle outline dra…
SoloByte Nov 19, 2025
5318f08
Fix: Update DrawTriangleLines call to include capPoints for better li…
SoloByte Nov 19, 2025
afa5774
Refactor: DrawLinesPercentage refactored to not use cap types and jus…
SoloByte Nov 19, 2025
f500866
Feat: DrawTriangleLinesPercentageHelperAlpha finished.
SoloByte Nov 20, 2025
25218ae
Fix: Resetting f correctly to 1 now.
SoloByte Nov 20, 2025
c96549b
Feat: DrawTriangleLinesPercentageHelperAlphaCapped is working in ccw …
SoloByte Nov 21, 2025
ba70cf8
Feat: Add AngleDelta method to compute signed angular difference in r…
SoloByte Nov 21, 2025
b08c7ae
Refactor: DrawTriangleLinesPercentageHelperAlphaCapped new version im…
SoloByte Nov 21, 2025
b06c5db
Feat: DrawingTriangle drawing a capped percentage outline with alpha …
SoloByte Nov 24, 2025
b422d79
Refactor: Regions added.
SoloByte Nov 25, 2025
519eed4
Feat: DrawSegmentSeparateCaps function added to specify different cap…
SoloByte Nov 25, 2025
c2360e0
Feat: DrawTriangleRounded functions added
SoloByte Nov 26, 2025
60c4248
Feat: DrawCorners functions overhauled to work with alpha and to be c…
SoloByte Nov 26, 2025
316becb
Feat: Add constructor to LineDrawingInfo for customizable thickness, …
SoloByte Nov 26, 2025
af09a60
Refactor: More RectDrawing cleanup.
SoloByte Nov 26, 2025
749f532
Refactor: Remove unused slanted corner point methods from Rect class
SoloByte Nov 27, 2025
1c2d1b8
Feat: DrawSlantedCorners/DrawSlantedCornersRelative/DrawSlantedCorner…
SoloByte Nov 27, 2025
35a63ca
Refactor: clarifying comments added
SoloByte Nov 27, 2025
1fa05dd
Fix: Fixed Triangle Point in DrawSlantedCorners.
SoloByte Nov 27, 2025
aded640
Feat: DrawCornersRounded function added.
SoloByte Nov 27, 2025
754c599
Refactor: Remove DrawSegmentCap method as DrawRoundCap suffices
SoloByte Nov 28, 2025
a206f18
Feat: DrawCorners draw end cap added
SoloByte Nov 28, 2025
7d13218
Feat: Add rotation methods to convert Rect to Quad
SoloByte Nov 28, 2025
61a9d1b
Refactor: RectDrawing cleaned up and all overloads with rotation remo…
SoloByte Nov 28, 2025
9ca5ed4
Refactor: More cleanup
SoloByte Nov 28, 2025
c9fa285
Feat: DrawQuadLines added parameters for rounded drawing.
SoloByte Nov 28, 2025
c3090d6
Feat: Quad & Rect Draw & DrawLines with rounded parameters finished.
SoloByte Nov 28, 2025
2706ab2
Refactor: Update Draw methods to simplify parameters for background a…
SoloByte Nov 28, 2025
0f71c71
Refactor: Cleanup
SoloByte Nov 28, 2025
23391fe
Refactor: DrawCornerHelper renamed to DrawRoundedCornerHelper
SoloByte Dec 1, 2025
8f0a4a9
Feat: New DrawQuadLinesPercentageHelper function finished. (testing n…
SoloByte Dec 1, 2025
b269cf4
Fix: Sharp corner line percentage drawing works now in ccw and cw dir…
SoloByte Dec 2, 2025
764a6ae
Fix: DrawQuadLinesPercentageHelper works now.
SoloByte Dec 2, 2025
7153dc0
Refactor: DrawQuadLinesPercentageHelper rounded now starts with a ful…
SoloByte Dec 2, 2025
9ad5f08
Fix: Sequencer.cs fix to remove linq requirement.
SoloByte Dec 3, 2025
852679a
Refactor: Update DrawQuad and Draw methods to improve parameter descr…
SoloByte Dec 3, 2025
de3d761
Enhance: Add normal vector properties and size calculation method for…
SoloByte Dec 3, 2025
e5ddbec
Enhance: Implement corner drawing methods for quads and rectangles wi…
SoloByte Dec 3, 2025
c0aab33
Refactor: Commented-out code removed.
SoloByte Dec 3, 2025
d3c02c1
Enhance: Add properties to access quad vertices with rect connotation.
SoloByte Dec 3, 2025
777817d
Refactor: DrawSlantedCorners region restructured.
SoloByte Dec 3, 2025
b7d6c6c
Feat: QuadDrawing slanted corners started.
SoloByte Dec 3, 2025
558395f
Feat: QuadDrawing DrawSlantedCorners / DrawSlantedCornersLines finished.
SoloByte Dec 4, 2025
a3b38f1
Refactor: Regions added.
SoloByte Dec 4, 2025
8f6f075
Feat: Line Drawing helpers started.
SoloByte Dec 4, 2025
557404d
Feat: added alternative formula for AngleRad.
SoloByte Dec 4, 2025
2f1189d
Feat: Started DrawLinesMiteredHelper
SoloByte Dec 4, 2025
f13eb3e
Feat: Using the new AngleRad formula.
SoloByte Dec 4, 2025
3b6d30d
Feat: Add constant radian values for common angles
SoloByte Dec 6, 2025
cbd0bb5
Feat: Basic Polygon Outline mitered drawing works now.
SoloByte Dec 6, 2025
d28fa52
Feat: Add unsigned angle calculations for vectors and corner classifi…
SoloByte Dec 6, 2025
bdf0480
Feat: Add extension method for ClassifyCorner to improve usability
SoloByte Dec 6, 2025
0f441ec
Refactor: Rename cornerType to type in ClassifyCorner method for clarity
SoloByte Dec 6, 2025
770abcc
Feat: More Polygon DrawLinesMiteredHelper improvements.
SoloByte Dec 6, 2025
08ad7f2
Feat: DrawLinesHelperMitered now works with sharp and mitered corners.
SoloByte Dec 8, 2025
2f57fe3
Refactor: Some functions changed to statement body.
SoloByte Dec 9, 2025
9af3344
Merge branch 'main' into circle-poly-improved-outline-drawing
SoloByte Jan 22, 2026
5bdc2ed
Feat: Add ToAbsolute() method to convert polygon coordinates to world…
SoloByte Jan 22, 2026
e98ba0d
Feat: DrawLinesRounded helper started in PolygonDrawing.
SoloByte Jan 22, 2026
b9c4cb2
Feat: PolygonMath GetNext/PreviousVertex functions added.
SoloByte Jan 22, 2026
584b26a
Doc: Add xml summaries to GetNextVertex and GetPreviousVertex methods.
SoloByte Jan 22, 2026
da4344e
Feat: Add GetNextIndex and GetPreviousIndex methods to PolygonMath fo…
SoloByte Jan 22, 2026
1d9bf47
Feat: DrawLinesRounded function implemented.
SoloByte Jan 22, 2026
ae41766
Refactor: Index functions moved from PolygonMath to PointsMath.
SoloByte Jan 23, 2026
c249b2f
Feat: DrawLines with rounded corners works now correctly!
SoloByte Jan 23, 2026
40df49c
Fix: Reverted AngleRad back to my code. (Never trust AI - This single…
SoloByte Jan 23, 2026
8a7d909
Feat: Add methods to compute edge normals for polygons
SoloByte Jan 26, 2026
917fdac
Feat: Enhance IsColinear method with tolerance and zero-length handling
SoloByte Jan 26, 2026
6af7f86
Feat: Add colinearity checks for direction vectors and points with to…
SoloByte Jan 26, 2026
62e6c41
Feat: Improve IsColinearAngle method to handle unsigned angles and ad…
SoloByte Jan 26, 2026
e5065a0
Feat: GenerateRounded function implemented (works but needs some clea…
SoloByte Jan 26, 2026
1925b43
Feat: Add methods to remove approximately collinear and duplicate ver…
SoloByte Jan 26, 2026
873879b
Feat: GenerateRounded functions in PolygonMath finished.
SoloByte Jan 27, 2026
fd00b0b
Docs: Xml Summaries added to GenerateRounded & GenerateRoundedCopy me…
SoloByte Jan 27, 2026
28162ce
Feat: DrawRounded function finished in PolygonDrawing.cs
SoloByte Jan 27, 2026
1133b54
Docs: Some xml summaries improved.
SoloByte Jan 28, 2026
9558876
Feat: Add SmoothCopy method for creating a smoothed copy of the polygon
SoloByte Jan 29, 2026
2a6e4bd
Docs: Inflate xml summary improved in ShapeClipper.cs
SoloByte Jan 29, 2026
5e76d90
Feat: Add ClassifyCorner2 method for corner classification based on d…
SoloByte Jan 29, 2026
65f7d31
Feat: New DrawLinesHelper function implemented using Clipper2 library…
SoloByte Jan 29, 2026
a67291d
Refactor: Rename GenerateRoundedCopy and GenerateRounded methods to R…
SoloByte Jan 29, 2026
31c654b
Feat: DrawLinesFast functions added (no transparent colors)
SoloByte Jan 29, 2026
43829a2
Todo: Warning added.
SoloByte Jan 30, 2026
449f18c
Feat: New ref based Triangulate Method added to Polygon.cs
SoloByte Jan 30, 2026
484276b
Feat: Add OutlineTriangulation to AsteroidObstacle for improved outli…
SoloByte Jan 30, 2026
9f0c8dc
Docs: Xml summaries improved for DrawRounded, DrawPolygonConvex, and …
SoloByte Jan 30, 2026
e92cb6b
Refactor: Polygons.cs and Polylines.cs moved from ShapeClipper.cs to …
SoloByte Jan 30, 2026
7c3e8fa
Feat: Custom Enums added for Clipper2 JoinType, EndType, FillRule to …
SoloByte Jan 30, 2026
8c7fc30
Docs: Enum Conversion xml summaries added
SoloByte Jan 30, 2026
f61fbfe
Feat: Add InflateMany methods for Polygons and Polylines to support o…
SoloByte Jan 30, 2026
9168b99
Feat: ShapeClipperEnums are now used in parameters.
SoloByte Jan 30, 2026
3bc519c
Docs: Add TODO comment regarding mitered variants and artifacts in tr…
SoloByte Jan 30, 2026
6a882f6
Feat: New function overloads for class conversion added that use ref …
SoloByte Feb 2, 2026
2866ad1
Refactor: All conversion function that use Polygon or Polyline were u…
SoloByte Feb 2, 2026
21cebb9
Docs: Add TODO comments for renaming drawing methods and updating doc…
SoloByte Feb 2, 2026
dd4f83e
Refactor: ShapeClipper Class Conversion function improvements and cle…
SoloByte Feb 2, 2026
8d2686a
Feat: Added new RoundCopy function with ref parameter.
SoloByte Feb 2, 2026
c7ff0f1
Refactor: Added new regions for Helper Members and Getters.
SoloByte Feb 2, 2026
70ddd6b
Refactor: Triangulation based functions moved from PolygonDrawing and…
SoloByte Feb 2, 2026
9c85e76
Todo: Todos added to CircleDrawing.cs
SoloByte Feb 2, 2026
5235cc0
Fix: Updated polygon drawing method to use DrawLines (DrawLinesFast w…
SoloByte Feb 2, 2026
11419a2
Refactor: Changed AsteroidShard drawing to full triangles instead of …
SoloByte Feb 2, 2026
e92720d
Refactor: Regions added to ShapeDrawing.cs
SoloByte Feb 3, 2026
79daa02
Refactor: More clean up.
SoloByte Feb 3, 2026
4c32065
Refactor: Relative points methods removed
SoloByte Feb 3, 2026
739c6cf
Refactor: Triangulation, OutlineTriangulation, OutlinePerimeterTriang…
SoloByte Feb 4, 2026
d48f09f
Add: DrawVertices method moved to Points.cs to render circles at each…
SoloByte Feb 4, 2026
e8c8de4
Refactor: Clean up and simplify DrawGapped method in GappedDrawing.cs
SoloByte Feb 4, 2026
a635af2
Refactor: DrawVertices method removed (Points.cs now has this function)
SoloByte Feb 4, 2026
dd8f1a2
Refactor: ShapeDrawing.cs removed.
SoloByte Feb 4, 2026
39ef49e
Docs: Missing xml summaries added to PolygonDrawing.cs methods.
SoloByte Feb 4, 2026
5f47704
Todo: Todos added for looking at DrawSlantedCorners with transparent …
SoloByte Feb 4, 2026
905eea0
Refactor: Some cleanup with regions.
SoloByte Feb 5, 2026
dff2445
Feat: DrawCorneredTransparent started.
SoloByte Feb 5, 2026
67f0594
Todo: Notes added for necessary changes + some debug functions added.
SoloByte Feb 5, 2026
8b1cc1f
Feat: DrawCornerAbsolute method finshed
SoloByte Feb 5, 2026
9129a3a
Fix: ContentPack GetFileData now looks for windows & unix style path …
SoloByte Feb 9, 2026
9c71020
Feat: DrawCorneredTransparent improvements.
SoloByte Feb 10, 2026
15dcd25
Feat: DrawCorneredTransparent version finished. (They are actually fa…
SoloByte Feb 10, 2026
c8f63a5
Fix: DrawCornered variants index wrapping added to fix crashes.
SoloByte Feb 10, 2026
ad33c94
Feat: DrawLinesConvex started.
SoloByte Feb 10, 2026
47f0456
Feat: DrawLinesConvex is now working correctly.
SoloByte Feb 11, 2026
7a96b41
Feat: DrawLinesConvex finished with docs and GetConvexPolygonMaxLineT…
SoloByte Feb 11, 2026
3867685
Feat: DrawLinesTransparent overhaul started.
SoloByte Feb 11, 2026
80708b7
Docs: DrawCorneredAbsoluteTransparent, DrawCorneredRelativeTransparen…
SoloByte Feb 12, 2026
f61fe2b
Refactor: Moved CalculatePolygonMaxLineThickness from PolygonDrawing.…
SoloByte Feb 12, 2026
7776515
Feat: DrawLinesPerimeterTransparent & DrawsLinesPercentageTransparent…
SoloByte Feb 12, 2026
3654d67
Feat: miterLimit and beveled parameters added to DrawLinesPerimeter/P…
SoloByte Feb 12, 2026
ccd6c7c
Feat: Basic DrawLinesPerimeterTransparent works now.
SoloByte Feb 13, 2026
005c6db
Fix: WrapIndex now correctly handles negative indices that are lower …
SoloByte Feb 16, 2026
1a24937
Feat: DrawLinesPerimeterTransparent function now works correctly with…
SoloByte Feb 16, 2026
acc3ec6
Feat: New DrawRoundCap function added
SoloByte Feb 16, 2026
f4c9390
Feat: DrawLinesPerimeterTransparent methods finished.
SoloByte Feb 16, 2026
ae647a0
Docs: Missing xml summaries added to Percentage/Perimeter drawing fun…
SoloByte Feb 16, 2026
75fc510
Feat: All predefined colors in System.Drawing.Color added as static p…
SoloByte Feb 16, 2026
d8bf225
Feat: Implicit Conversion added.
SoloByte Feb 16, 2026
e093b53
Refactor: Clear color removed (replaced by transparent)
SoloByte Feb 16, 2026
ab5c013
Refactor: Region renamed.
SoloByte Feb 17, 2026
cd8f76d
Feat: Added new GenerateCircleSectorOutlineTriangulation method.
SoloByte Feb 17, 2026
2e4b0a3
Feat: DrawCircleSectorLinesClosedInternal draws the closing segments …
SoloByte Feb 17, 2026
63aa6e9
Feat: Add ToPositiveAngleRad method to convert angles to positive equ…
SoloByte Feb 18, 2026
11886b7
Feat: DrawCircleSectorLinesClosedFastInternal added for opaque colors.
SoloByte Feb 18, 2026
85e9483
Feat: DrawCircleSectorLinesClosedInternal now works with negative dir…
SoloByte Feb 18, 2026
0f62c67
Feat: CalculateCircleDrawingParameters implemented in CircleDrawing.cs
SoloByte Feb 18, 2026
a0511d8
Refactor: Some Clean up.
SoloByte Feb 18, 2026
48b6d5e
Fix: Inverse and GetFactor now clamp value between Min and Max
SoloByte Feb 19, 2026
a3f04a4
Feat: GetRect() and GetCircle() method added.
SoloByte Feb 19, 2026
9dfed04
Feat: LerpInverse() function added.
SoloByte Feb 19, 2026
e342f12
Refactor: CircleDrawing.cs smoothness parameter added and any sides/s…
SoloByte Feb 19, 2026
04a3242
Feat: GetCircleSmoothness functions added to CircleDrawing.cs
SoloByte Feb 20, 2026
9745b7a
Refactor: A lot of cleanup in CircleDrawing.cs, a lot of internal alg…
SoloByte Feb 20, 2026
fafadc4
Feat: Add ScaleSegment method to SegmentMath.cs for scaling segments …
SoloByte Feb 23, 2026
f9585a6
Refactor: Adjust ScaleSegment method parameters for improved clarity
SoloByte Feb 23, 2026
34e2927
Refactor: Regions moved around to be clearer.
SoloByte Feb 23, 2026
4de9fa9
Feat: DrawPercentage function added.
SoloByte Feb 23, 2026
d9c77db
Refactor: Remove commented-out code in CircleDrawing.cs for cleaner i…
SoloByte Feb 23, 2026
ee439ce
Refactor: RingDrawing.cs redundent functions removed and class cleane…
SoloByte Feb 23, 2026
e5513ca
Refactor: RingDrawing.cs removed and all functions moved to CircleDra…
SoloByte Feb 23, 2026
2dbf29c
Fix: DrawSegment with LineCapType.Capped lo longer shrinks beyond seg…
SoloByte Feb 24, 2026
a43a32f
Refactor: Old docs removed.
SoloByte Feb 24, 2026
c865854
Fix: Fixed DrawSectorLine calls in Examples.
SoloByte Feb 24, 2026
9783d93
Docs: Added new xml summaries and updated existing xml summaries in C…
SoloByte Feb 24, 2026
d17b56b
Docs: Added XML summaries for DrawRoundCap methods in SegmentDrawing.cs
SoloByte Feb 24, 2026
b49580b
Docs: Various xml summaries updated with smoothness parameter.
SoloByte Feb 24, 2026
e8fb548
Feat: Added CalculateMaxLineThickness to TriangleMath (moved from Tri…
SoloByte Feb 25, 2026
e48a42b
Feat: Added IsCollinear method to TriangleMath for collinearity check
SoloByte Feb 25, 2026
7f2a0e7
Feat: Added GetIncenter method to TriangleMath for calculating the in…
SoloByte Feb 25, 2026
7803600
Feat: Refactor CalculateMaxLineThickness to use incenter calculation …
SoloByte Feb 25, 2026
32e014e
Refactor: TriangleMath CalculateMaxLineThickness removed.
SoloByte Feb 25, 2026
8d3048e
Merge branch 'main' into circle-poly-improved-outline-drawing
SoloByte Feb 25, 2026
71a865c
Feat: Static Class TriangleBatcher implemented.
SoloByte Feb 26, 2026
938a646
Docs: Xml summaries added.
SoloByte Feb 26, 2026
eabe7ba
Docs: some xml summaries improved.
SoloByte Feb 26, 2026
4d71e39
Feat: TriangleBatcher now caches set color and resets to this color a…
SoloByte Feb 26, 2026
7c05b78
Refactor: TriangleBatcher and TriangleBatch unified into the same class.
SoloByte Feb 26, 2026
3610aff
Feat: Simple PerformanceMeasureWatch added.
SoloByte Feb 26, 2026
9d6ba42
Refactor: GetData() function added.
SoloByte Feb 26, 2026
479e5c1
Refactor: Data changed to TimeSpan from ticks (long).
SoloByte Feb 26, 2026
479b950
Docs: xml summaries added.
SoloByte Feb 26, 2026
82c8faf
Docs: Xml summary updated.
SoloByte Feb 26, 2026
394111e
Refactor: Todo removed.
SoloByte Feb 26, 2026
cb6e0d3
Feat: TriangleDrawing DrawLinesPercentage finished.
SoloByte Feb 27, 2026
230ba37
Docs: Xml summaries finished.
SoloByte Feb 27, 2026
f42544b
Docs: Xml summaries finished.
SoloByte Feb 27, 2026
1e414a2
Refactor: New Regions added
SoloByte Feb 27, 2026
9bf0893
Feat: Add ToQuad method to convert rectangle to quadrilateral
SoloByte Feb 27, 2026
6801610
Feat: Add methods to get the minimum and maximum side lengths of a tr…
SoloByte Feb 27, 2026
57121a2
Feat: Add LerpByLength method for vector interpolation by distance
SoloByte Feb 27, 2026
6a2f79c
Feat: Added DrawCorners and DrawCornersRelative
SoloByte Feb 27, 2026
0918afb
Refactor: RectDrawing cleanup based on QuadDrawing (most non-extensio…
SoloByte Feb 27, 2026
2d947c8
Feat: QuadMath Size, DiagonalLength, DiagonalLengthSquared, RotationR…
SoloByte Mar 2, 2026
3cc86e4
Merge branch 'main' into circle-poly-improved-outline-drawing
SoloByte Mar 2, 2026
ff5d0bb
Refactor: QuadDrawing DrawCorners and DrawCornersRelative reworked
SoloByte Mar 3, 2026
e52d27a
Feat: New DrawCorners function a working 100% correctly now.
SoloByte Mar 3, 2026
5881f12
Docs: Added xml summaries to DrawCorners and DrawCornersRelative func…
SoloByte Mar 3, 2026
1fca653
Refactor: DrawSlanterCorners with 4 cornerLengths reworked to not use…
SoloByte Mar 4, 2026
b206fcf
Refactor: QuadDrawing and RectDrawing DrawSlantedCorners functions (a…
SoloByte Mar 4, 2026
2f096c8
Refator: DrawChamferedCornerLines thickness parameter renamed to line…
SoloByte Mar 4, 2026
f7462f6
Refactor: DrawChamferedCornerLines thickness parameter renamed to lin…
SoloByte Mar 4, 2026
4921aa9
Todos: Notes for problems added.
SoloByte Mar 4, 2026
04d5f3d
Todo: Notes for problem ChangeSize/SetSize/ScaleSize functions added.
SoloByte Mar 4, 2026
c10c77d
Feat: Right Triangle Math region added.
SoloByte Mar 6, 2026
dba2c71
Feat: DrawChamferedCornersLines with cornerLength parameter works now.
SoloByte Mar 6, 2026
f33dd89
Feat: Add functions to calculate isosceles triangle side and base len…
SoloByte Mar 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion Examples/GameloopExamples.cs
Original file line number Diff line number Diff line change
Expand Up @@ -533,7 +533,8 @@ private void DrawRoundedCursor(Vector2 tip, float size, ColorRgba colorRgba)
var top = circleCenter + new Vector2(0, -1) * size;
SegmentDrawing.DrawSegment(tip, left, 1f, colorRgba, LineCapType.CappedExtended, 3);
SegmentDrawing.DrawSegment(tip, top, 1f, colorRgba, LineCapType.CappedExtended, 3);
CircleDrawing.DrawCircleSectorLines(circleCenter, size, 180, 270, 1f, colorRgba, false, 4f);
var circle = new Circle(circleCenter, size);
circle.DrawSectorLines(180, 270, 0f, 1f, colorRgba, 0.65f);
}

protected override void Update(GameTime time, ScreenInfo game, ScreenInfo gameUi, ScreenInfo ui)
Expand Down
19 changes: 12 additions & 7 deletions Examples/Scenes/ExampleScenes/AsteroidMiningExample.cs
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,13 @@ public override void Update(GameTime time, ScreenInfo game, ScreenInfo gameUi, S

public override void DrawGame(ScreenInfo game)
{
//SDrawing.DrawCircleFast(pos, 4f, RED);
var c = this.color.ColorRgba.ChangeAlpha((byte)(255 * lifetimeF));
//color = this.color;
shape.DrawLines(2f * lifetimeF, c);
var alpha = (int)(400 * lifetimeF);
if(alpha > 255) alpha = 255;
var c = color.ColorRgba.SetAlpha((byte)alpha);

// shape.DrawLines(2f * lifetimeF, c);

shape.Draw(c);
}

public override void DrawGameUI(ScreenInfo gameUi)
Expand Down Expand Up @@ -448,15 +451,17 @@ public override void DrawGame(ScreenInfo game)
if (hybernate) return;
var c = Colors.Cold;
shape.DrawLines(4f, c);
CircleDrawing.DrawCircle(tip, 8f, c);
var circle = new Circle(tip, 8f);
circle.Draw(c, 0.1f);

if (laserEnabled && laserPoints.Count > 1)
{
for (int i = 0; i < laserPoints.Count - 1; i++)
{
Segment laserSegment = new(laserPoints[i], laserPoints[i + 1]);
laserSegment.Draw(4f, c);
CircleDrawing.DrawCircle(laserPoints[i + 1], Rng.Instance.RandF(6f, 12f), c, 12);
var laserPointCircle = new Circle(laserPoints[i + 1], Rng.Instance.RandF(6f, 12f));
laserPointCircle.Draw(c, 0.1f);
}

}
Expand Down Expand Up @@ -835,7 +840,7 @@ protected override void OnHandleInputExample(float dt, Vector2 mousePosGame, Vec

}
}
var finalShapes = ShapeClipper.UnionMany(curShape.ToPolygon(), polys, Clipper2Lib.FillRule.NonZero).ToPolygons(true);
var finalShapes = curShape.ToPolygon().UnionMany(polys).ToPolygons(true);
if (finalShapes.Count > 0)
{
foreach (var f in finalShapes)
Expand Down
2 changes: 1 addition & 1 deletion Examples/Scenes/ExampleScenes/BouncyCircles.cs
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public override void DrawGame(ScreenInfo game)
_ => Colors.Medium
};

CircleDrawing.DrawCircleFast(Transform.Position, Transform.ScaledSize.Width, color);
Transform.GetCircle().DrawFast(color);
}

public override void DrawGameUI(ScreenInfo gameUi)
Expand Down
7 changes: 5 additions & 2 deletions Examples/Scenes/ExampleScenes/CameraExample.cs
Original file line number Diff line number Diff line change
Expand Up @@ -150,8 +150,11 @@ protected override void OnDrawGameExample(ScreenInfo game)

var c = Colors.Cold; // new ColorRgba(Color.CornflowerBlue);
float f = camera.ZoomFactor;
CircleDrawing.DrawCircle(camera.BasePosition, 8f * f, c);
CircleDrawing.DrawCircleLines(camera.BasePosition, 64 * f, 2f * f, c);
var circle = new Circle(camera.BasePosition, 8f * f);
circle.Draw(c, 0.2f);
circle = circle.SetRadius(64 * f);
circle.DrawLines(2f * f, c, 0.65f);

Segment hor = new(camera.BasePosition - new Vector2(3000 * f, 0), camera.BasePosition + new Vector2(3000 * f, 0));
hor.Draw(2f * f, c);
Segment ver = new(camera.BasePosition - new Vector2(0, 3000 * f), camera.BasePosition + new Vector2(0, 3000 * f));
Expand Down
9 changes: 6 additions & 3 deletions Examples/Scenes/ExampleScenes/CameraGroupFollowExample.cs
Original file line number Diff line number Diff line change
Expand Up @@ -214,10 +214,13 @@ public void Draw()
var outlineColor = Selected ? outlineColorActive : outlineColorInactive;
var hullColor = Selected ? hullColorActive : hullColorInactive;
var cockpitColor = Selected ? cockpitColorActive : cockpitColorInactive;
CircleDrawing.DrawCircle(hull.Center - rightThruster * hull.Radius, hull.Radius / 6, outlineColor.ColorRgba, 12);
CircleDrawing.DrawCircle(hull.Center - leftThruster * hull.Radius, hull.Radius / 6, outlineColor.ColorRgba, 12);
var rightThrusterCircle = new Circle(hull.Center - rightThruster * hull.Radius, hull.Radius / 6);
var leftThrusterCircle = new Circle(hull.Center - leftThruster * hull.Radius, hull.Radius / 6);
rightThrusterCircle.Draw(outlineColor.ColorRgba, 0.25f);
leftThrusterCircle.Draw(outlineColor.ColorRgba, 0.25f);
hull.Draw(hullColor.ColorRgba);
CircleDrawing.DrawCircle(hull.Center + movementDir * hull.Radius * 0.66f, hull.Radius * 0.33f, cockpitColor.ColorRgba, 12);
var circle = new Circle(hull.Center + movementDir * hull.Radius * 0.66f, hull.Radius * 0.33f);
circle.Draw(cockpitColor.ColorRgba, 0.25f);

hull.DrawLines(4f, outlineColor.ColorRgba);

Expand Down
8 changes: 5 additions & 3 deletions Examples/Scenes/ExampleScenes/DataExample.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@ public void Draw()
var startC = Colors.Warm;
var endC = Colors.Medium.SetAlpha(150);
var c = startC.Lerp(endC, f);
CircleDrawing.DrawCircle(pos, ShapeMath.LerpFloat(size * 0.5f, size, f), c, 24);
var r = ShapeMath.LerpFloat(size * 0.5f, size, f);
var circle = new Circle(pos, r);
circle.Draw(c, 0.75f);
}
}
private class Planet
Expand Down Expand Up @@ -263,8 +265,8 @@ protected override void OnUpdateExample(GameTime time, ScreenInfo game, ScreenIn
}
protected override void OnDrawGameExample(ScreenInfo game)
{

CircleDrawing.DrawCircleLines(planet.Shape.Center, AsteroidSpawnRadius, 12f, Colors.Highlight, 4f);
var circle = new Circle(planet.Shape.Center, AsteroidSpawnRadius);
circle.DrawLines(12f, Colors.Highlight, 1f);

planet.Draw();
planet.DrawGameUI(textFont);
Expand Down
4 changes: 2 additions & 2 deletions Examples/Scenes/ExampleScenes/DelaunayExample.cs
Original file line number Diff line number Diff line change
Expand Up @@ -158,11 +158,11 @@ protected override void OnDrawGameExample(ScreenInfo game)
{
var tri = curTriangulation[i];
if (i == closeTriangleIndex) continue;
tri.DrawLines(lineThickness, Colors.Light, LineCapType.CappedExtended, 4);
tri.DrawLines(lineThickness, Colors.Light, 4);
}


if(closeTriangleIndex >= 0) curTriangulation[closeTriangleIndex].DrawLines(lineThicknessBig, Colors.Highlight, LineCapType.CappedExtended, 4);
if(closeTriangleIndex >= 0) curTriangulation[closeTriangleIndex].DrawLines(lineThicknessBig, Colors.Highlight, 4);

for (int i = 0; i < points.Count; i++)
{
Expand Down
38 changes: 16 additions & 22 deletions Examples/Scenes/ExampleScenes/EndlessSpaceCollision.cs
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public override Rect GetSourceRect(Dimensions screenDimensions, Dimensions textu
);
}

public override (ColorRgba color, bool clear) GetBackgroundClearColor() => (ColorRgba.Clear, true);
public override (ColorRgba color, bool clear) GetBackgroundClearColor() => (ColorRgba.Transparent, true);
}

private List<ScreenTexture> starTextures = new(5);
Expand Down Expand Up @@ -252,7 +252,8 @@ private void OnDrawStarTexture(ScreenInfo screeninfo, ScreenTexture texture)
{
var pos = screeninfo.Area.GetRandomPointInside();

CircleDrawing.DrawCircleFast(pos, Rng.Instance.RandF(1, 5), Colors.Highlight.SetAlpha(alpha));
var circle = new Circle(pos, Rng.Instance.RandF(1, 5));
circle.DrawFast(Colors.Highlight.SetAlpha(alpha));
}
}

Expand Down Expand Up @@ -786,26 +787,17 @@ protected override void OnDrawGameExample(ScreenInfo game)
// {
// cutShape.Draw(cutShapeColor);
// }


CircleDrawing.DrawCircleSectorLines(ship.Transform.Position, 250f, -80, -10, 12f, Colors.PcDark.ColorRgba, false, 8f);
CircleDrawing.DrawCircleSectorLines(ship.Transform.Position, 250f, -100, -170, 12f, Colors.PcDark.ColorRgba, false, 8f);
CircleDrawing.DrawCircleSectorLines(ship.Transform.Position, 250f, 170, 10, 12f, Colors.PcDark.ColorRgba, false, 8f);

if (minigun.ReloadF > 0f)
{
CircleDrawing.DrawCircleSectorLines(ship.Transform.Position, 250f, -80, ShapeMath.LerpFloat(-80, -10, minigun.ReloadF), 4f, Colors.PcWarm.ColorRgba, false, 8f);
}
else CircleDrawing.DrawCircleSectorLines(ship.Transform.Position, 250f, -80, ShapeMath.LerpFloat(-80, -10, 1f - minigun.ClipSizeF), 4f, Colors.PcCold.ColorRgba, false, 8f);
var sectorLineInfo = new LineDrawingInfo(12f, Colors.PcDark.ColorRgba);
var circle = new Circle(ship.Transform.Position, 250f);
circle.DrawSectorLines(-80f, -10f, 0f, sectorLineInfo, 0.75f);
circle.DrawSectorLines(-100f, -170f, 0f, sectorLineInfo, 0.75f);
circle.DrawSectorLines(170f, 10f, 0f, sectorLineInfo, 0.75f);

if (cannon.ReloadF > 0f)
{
CircleDrawing.DrawCircleSectorLines(ship.Transform.Position, 250f, -100, ShapeMath.LerpFloat(-100, -170, cannon.ReloadF), 4f, Colors.PcWarm.ColorRgba, false, 8f);
}
else CircleDrawing.DrawCircleSectorLines(ship.Transform.Position, 250f, -100, ShapeMath.LerpFloat(-100, -170, 1f - cannon.ClipSizeF), 4f, Colors.PcCold.ColorRgba, false, 8f);


CircleDrawing.DrawCircleSectorLines(ship.Transform.Position, 250f, 170, ShapeMath.LerpFloat(170, 10, ship.HealthF), 4f, Colors.PcWarm.ColorRgba, false, 8f);
sectorLineInfo = new LineDrawingInfo(4f, Colors.PcWarm.ColorRgba);
circle.DrawSectorLines(-80, ShapeMath.LerpFloat(-80, -10, minigun.ReloadF > 0f ? minigun.ReloadF : 1f - minigun.ClipSizeF), 0f, sectorLineInfo, 0.75f);
circle.DrawSectorLines(-100, ShapeMath.LerpFloat(-100, -170, cannon.ReloadF > 0f ? cannon.ReloadF : 1f - cannon.ClipSizeF), 0f, sectorLineInfo, 0.75f);
circle.DrawSectorLines(170, ShapeMath.LerpFloat(170, 10, ship.HealthF), 0f, sectorLineInfo, 0.75f);
}
protected override void OnDrawGameUIExample(ScreenInfo gameUi)
{
Expand Down Expand Up @@ -853,12 +845,14 @@ protected override void OnDrawUIExample(ScreenInfo ui)
var multiDestructorStripedBarRect = multiDestructorRectBar.GetProgressRect(multiDestructorF, 0f, 1f, 0f, 0f).ApplyMargins(0.01f, 0.01f, 0.04f, 0.04f);
LineDrawingInfo stripedBarInfo = new LineDrawingInfo(thickness, Colors.Warm, LineCapType.Capped, 4);

singleDestructorRect.DrawCorners(new LineDrawingInfo(thickness, Colors.Warm, LineCapType.Capped, 4), cornerLength);
// singleDestructorRect.DrawCorners(new LineDrawingInfo(thickness, Colors.Warm, LineCapType.Capped, 4), cornerLength);
singleDestructorRect.DrawCorners(thickness, Colors.Warm, cornerLength);
singleDestructorRectBar.Draw(Colors.Medium);
singleDestructorStripedBarRect.DrawStriped(singleDestructorRectBar.Width * 0.015f, -15, stripedBarInfo);


multiDestructorRect.DrawCorners(new LineDrawingInfo(thickness, Colors.Warm, LineCapType.Capped, 4), cornerLength);
// multiDestructorRect.DrawCorners(new LineDrawingInfo(thickness, Colors.Warm, LineCapType.Capped, 4), cornerLength);
multiDestructorRect.DrawCorners(thickness, Colors.Warm, cornerLength);
multiDestructorRectBar.Draw(Colors.Medium);
multiDestructorStripedBarRect.DrawStriped(multiDestructorRectBar.Width * 0.015f, 15, stripedBarInfo);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ internal class AsteroidObstacle : CollisionObject
private PolygonCollider collider;
private readonly Polygon? outsideShape;
public Triangulation Triangulation;
public Triangulation OutlineTriangulation;
private Rect bb;

private float damageFlashTimer = 0f;
Expand Down Expand Up @@ -84,6 +85,7 @@ public AsteroidObstacle(Polygon relativeShape, Vector2 pos, float size, bool big
var shape = collider.GetPolygonShape();
bb = shape.GetBoundingBox();
Triangulation = shape.Triangulate();
OutlineTriangulation = shape.GenerateOutlineTriangulation(EndlessSpaceCollision.AsteroidLineThickness, 0, 2f, false, false)?? [];

if (big)
{
Expand Down Expand Up @@ -134,6 +136,7 @@ public void MoveTo(Vector2 newPosition)
var moved = newPosition - Transform.Position;
Transform = Transform.SetPosition(newPosition);
Triangulation.ChangePosition(moved);
OutlineTriangulation.ChangePosition(moved);
outsideShape?.ChangePosition(moved);
// moved = true;
}
Expand Down Expand Up @@ -182,6 +185,7 @@ public override void Update(GameTime time, ScreenInfo game, ScreenInfo gameUi,

var moved = Transform.Position - prevPosition;
Triangulation.ChangePosition(moved);
OutlineTriangulation.ChangePosition(moved);
outsideShape?.ChangePosition(moved);
}
public Polygon GetShape() => collider.GetPolygonShape();
Expand Down Expand Up @@ -220,7 +224,8 @@ public override void DrawGame(ScreenInfo game)
if (EndlessSpaceCollision.AsteroidLineThickness > 1 && outsideShape != null)
{
var c = damageFlashTimer > 0f ? Colors.PcWarm.ColorRgba : Colors.PcHighlight.ColorRgba;
collider.GetPolygonShape().DrawLines(EndlessSpaceCollision.AsteroidLineThickness, c);
OutlineTriangulation.Draw(c);//this works with transparent colors as well
// collider.GetPolygonShape().DrawLines(EndlessSpaceCollision.AsteroidLineThickness, c);
if (Big)
{
perimeter = outsideShape.DrawGappedOutline(perimeter, GappedLineInfo, gappedOutlineInfo);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
using ShapeEngine.Geometry.CircleDef;
using ShapeEngine.Geometry.CollisionSystem;
using ShapeEngine.Geometry.CollisionSystem.CollisionHandlerDef;
using ShapeEngine.Geometry.QuadDef;
using ShapeEngine.Geometry.RectDef;
using ShapeEngine.Geometry.SegmentDef;
using ShapeEngine.StaticLib;
Expand Down Expand Up @@ -141,7 +142,8 @@ public void Draw()
float sideScaleFactor = ShapeMath.LerpFloat(0.2f, 0.5f, targetingAnimationF);
// float targetingAnimationRotation = ShapeMath.LerpFloat(-15, 15, targetingAnimationF);
var bb = curTarget.GetBoundingBox();
bb.DrawLinesScaled(new LineDrawingInfo(6f, c), 45f, bb.Center, sideScaleFactor, 0.5f); //DrawLines(4f, c);
var bbQuad = new Quad(bb, 45f, bb.Center);
bbQuad.DrawLinesScaled(new LineDrawingInfo(6f, c), sideScaleFactor, 0.5f);

var targetPos = curTarget.GetBoundingBox().Center;
pos.Draw(5f, c);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System.Numerics;
using ShapeEngine.Color;
using ShapeEngine.Core.Structs;
using ShapeEngine.Geometry;
using ShapeEngine.Geometry.CircleDef;
using ShapeEngine.Geometry.CollisionSystem;
using ShapeEngine.StaticLib;
Expand Down Expand Up @@ -111,7 +112,7 @@ public override void DrawGame(ScreenInfo game)
var angle = Velocity.AngleDeg();
var startAngle = angle - 50f;
var endAngle = angle + 50f;
RingDrawing.DrawSectorRingLines(circle.Center, circle.Radius * 0.75f, circle.Radius, startAngle, endAngle, thickness, color, 4f);
circle.DrawRingSectorLines(circle.Radius * 0.25f, startAngle, endAngle, 0f, thickness * 0.5f, color, 0.6f);
}

public override void DrawGameUI(ScreenInfo gameUi)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,8 @@ protected virtual void DrawSmoke()
var f = 1f - (SmokeTimer / Info.SmokeDuration);
var color = Colors.Warm.Lerp(Colors.PcMedium.ColorRgba.SetAlpha(50), f);
var size = ShapeMath.LerpFloat(Info.Radius * 0.5f, Info.Radius * 3f, f);
CircleDrawing.DrawCircle(CurPosition, size, color, 24);
var circle = new Circle(CurPosition, size);
circle.Draw(color, 0.6f);
}

public bool IsFinished() => finished;
Expand Down Expand Up @@ -97,14 +98,10 @@ public void Draw()
if (travelTimer > 0f)
{
var f = TravelF;
CircleDrawing.DrawCircle(TargetLocation, 12f, Colors.PcCold.ColorRgba, 24);
CircleDrawing.DrawCircleLines(TargetLocation, Info.Radius * (1f - f), 6f, Colors.PcMedium.ColorRgba, 6);

// var f = TravelF;
// ShapeDrawing.DrawCircleLines(targetLocation, Size, 6f, Colors.Dark, 6);
// ShapeDrawing.DrawCircleSectorLines(targetLocation, Size, 0f, 359f * f, 6f, Colors.Special, false, 4f);
// ShapeDrawing.DrawCircleSectorLines(targetLocation, Size / 12, 0f, 359f * f, 6f, Colors.Special, false, 4f);
// ShapeDrawing.DrawCircle(targetLocation, 12f, Colors.Special, 24);
var circle = new Circle(TargetLocation, 12f);
circle.Draw(Colors.PcCold.ColorRgba, 0.2f);
circle = circle.SetRadius(Info.Radius * (1f - f));
circle.DrawLines(6f, Colors.PcMedium.ColorRgba, 0.6f);

var lineEnd = ShapeVec.Lerp(StartLocation, TargetLocation, f);
var w = lineEnd - EndlessSpaceCollision.DestroyerPosition;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ public void Draw()
var color = paletteColor.ColorRgba;
var s = ShapeMath.LerpFloat(size, size * 0.25f, lifetimeF);
var c = color.Lerp(color.ChangeAlpha(150), lifetimeF);
CircleDrawing.DrawCircleFast(position, s, c);

var circle = new Circle(position, s);
circle.DrawFast(c);
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Examples.PayloadSystem;
using ShapeEngine.Geometry;
using ShapeEngine.Geometry.CircleDef;
using ShapeEngine.StaticLib;

Expand All @@ -15,17 +16,22 @@ public override void Draw()
{
if (!Launched) return;


if (TravelF > 0f)
{
var circle = new Circle(Location, 15f);
if (visible)
{
CircleDrawing.DrawCircle(Location, 15, Colors.Cold, 24);
}
CircleDrawing.DrawCircleSectorLines(Location, 25f, 0, 359 * TravelF, 4f, Colors.Cold, false, 4f);
circle.Draw(Colors.Cold, 0.2f);
}

circle = circle.SetRadius(25f);
circle.DrawSectorLines(0, 359 * TravelF, 0f, new LineDrawingInfo(4f, Colors.Cold), 0.2f);
}
else
{
CircleDrawing.DrawCircle(Location, 15, Colors.Cold, 24);
var circle = new Circle(Location, 15f);
circle.Draw(Colors.Cold, 0.2f);
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ public Vector2 GetTargetPosition(int curActivation, int maxActivations)

public void DrawTargetArea(float f, ColorRgba color)
{
CircleDrawing.DrawCircleLines(curPosition, radius * f, 6f, color);
var circle = new Circle(curPosition, radius * f);
circle.DrawLines(6f, color, 0.1f);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,9 @@ protected override void DrawSmoke()
{
var f = 1f - (SmokeTimer / Info.SmokeDuration);
var color = Colors.PcWarm.ColorRgba.Lerp(Colors.PcMedium.ColorRgba.SetAlpha(50), f);
var size = Info.Radius; // ShapeMath.LerpFloat(Info.Radius * 0.5f, Info.Radius * 3f, f);
CircleDrawing.DrawCircle(CurPosition, size, color, 24);
// ShapeDrawing.DrawCircle(CurPosition, Info.Radius * 0.05f , color, 18);
var size = Info.Radius;
var circle = new Circle(CurPosition, size);
circle.Draw(color, 0.65f);
}

}
Expand Down
Loading
Loading