static bool WithinRange(ShapeAngleRange angleRange, float inputAngle) { float range = angleRange.end - angleRange.start; float angle = Mathf.Repeat(inputAngle - angleRange.start, 360f); angle = (angle == 360.0f) ? 0 : angle; return(angle >= 0f && angle <= range); }
private List <ShapeAngleRange> GetAngleRangeSorted(SpriteShape ss) { List <ShapeAngleRange> angleRanges = new List <ShapeAngleRange>(); int i = 0; foreach (var angleRange in ss.angleRanges) { ShapeAngleRange sar = new ShapeAngleRange() { start = angleRange.start, end = angleRange.end, order = angleRange.order, index = i }; angleRanges.Add(sar); i++; } angleRanges.Sort((a, b) => a.order.CompareTo(b.order)); return(angleRanges); }