< Summary

Information
Class: Trailblazer.Pathing.HybridRouteStep
Assembly: Trailblazer
File(s): /home/runner/work/Trailblazer/Trailblazer/src/Trailblazer/Pathing/Search/Hybrid/Support/HybridRouteStep.cs
Line coverage
100%
Covered lines: 17
Uncovered lines: 0
Coverable lines: 17
Total lines: 48
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor()100%11100%
Segment(...)100%22100%
Waypoint(...)100%11100%

File(s)

/home/runner/work/Trailblazer/Trailblazer/src/Trailblazer/Pathing/Search/Hybrid/Support/HybridRouteStep.cs

#LineLine coverage
 1using FixedMathSharp;
 2using System;
 3
 4namespace Trailblazer.Pathing;
 5
 6internal sealed class HybridRouteStep
 7{
 8    public HybridRouteStepKind Kind { get; private set; }
 9
 10    public IPathRequest SegmentRequest { get; private set; } = null!;
 11
 12    public TrailblazerWorldContext Context { get; private set; } = null!;
 13
 14    public Vector3d WaypointPosition { get; private set; }
 15
 16    public int AdditionalCost { get; private set; }
 17
 18    public string[] SegmentChartKeys { get; private set; } = Array.Empty<string>();
 19
 153620    private HybridRouteStep() { }
 21
 22    public static HybridRouteStep Segment(
 23        IPathRequest request,
 24        int additionalCost = 0,
 20825        string[]? chartKeys = null) => new()
 20826        {
 20827            Kind = HybridRouteStepKind.PathSegment,
 20828            SegmentRequest = request,
 20829            Context = request.Context,
 20830            AdditionalCost = additionalCost,
 20831            SegmentChartKeys = chartKeys ?? Array.Empty<string>()
 20832        };
 33
 34    public static HybridRouteStep Waypoint(
 35        TrailblazerWorldContext context,
 36        Vector3d position,
 37        int additionalCost = 0)
 38    {
 56039        PathRequestContextResolver.ThrowIfUnusable(context);
 56040        return new()
 56041        {
 56042            Kind = HybridRouteStepKind.Waypoint,
 56043            Context = context,
 56044            WaypointPosition = position,
 56045            AdditionalCost = additionalCost
 56046        };
 47    }
 48}