< Summary

Information
Class: Trailblazer.Pathing.TrailblazerGuideState
Assembly: Trailblazer
File(s): /home/runner/work/Trailblazer/Trailblazer/src/Trailblazer/Pathing/Search/Guide/TrailblazerGuideState.cs
Line coverage
90%
Covered lines: 10
Uncovered lines: 1
Coverable lines: 11
Total lines: 46
Line coverage: 90.9%
Branch coverage
50%
Covered branches: 1
Total branches: 2
Branch coverage: 50%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor()100%11100%
Dispose()50%2287.5%

File(s)

/home/runner/work/Trailblazer/Trailblazer/src/Trailblazer/Pathing/Search/Guide/TrailblazerGuideState.cs

#LineLine coverage
 1using System;
 2
 3namespace Trailblazer.Pathing;
 4
 5/// <summary>
 6/// Owns guide result caches and reusable guide pools for one pathing context.
 7/// </summary>
 8internal sealed class TrailblazerGuideState : IDisposable
 9{
 10    private bool _disposed;
 11
 12    internal AStarSurveyor AStarSurveyor { get; } = new();
 13
 14    internal FlowFieldSurveyor FlowFieldSurveyor { get; } = new();
 15
 16    internal VolumeSurveyor VolumeSurveyor { get; } = new();
 17
 18    internal ReusableSurveyResultCache<AStarSurveyResult> CachedAStarResults { get; } = new();
 19
 20    internal ReusableSurveyResultCache<FlowFieldSurveyResult> CachedFlowResults { get; } = new();
 21
 22    internal ReusableSurveyResultCache<VolumeSurveyResult> CachedVolumeResults { get; } = new();
 23
 24    internal ReusableSurveyResultCache<HybridRoutePlanSurveyResult> CachedHybridRoutePlans { get; } = new();
 25
 26    internal GuidePool<AStarGuide> AStarGuides { get; } =
 96127        new(static () => new AStarGuide(), static guide => guide.ResetForReuse());
 28
 29    internal GuidePool<FlowFieldGuide> FlowFieldGuides { get; } =
 96130        new(static () => new FlowFieldGuide(), static guide => guide.ResetForReuse());
 31
 32    internal GuidePool<VolumeGuide> VolumeGuides { get; } =
 96133        new(static () => new VolumeGuide(), static guide => guide.ResetForReuse());
 34
 35    public void Dispose()
 36    {
 96137        if (_disposed)
 038            return;
 39
 96140        _disposed = true;
 96141        CachedAStarResults.Dispose();
 96142        CachedFlowResults.Dispose();
 96143        CachedVolumeResults.Dispose();
 96144        CachedHybridRoutePlans.Dispose();
 96145    }
 46}

Methods/Properties

.ctor()
Dispose()