< Summary

Information
Class: Trailblazer.Pathing.NavigationGridGenerationIdentity
Assembly: Trailblazer
File(s): /home/runner/work/Trailblazer/Trailblazer/src/Trailblazer/Pathing/Graph/NavigationGridGenerationIdentity.cs
Line coverage
100%
Covered lines: 9
Uncovered lines: 0
Coverable lines: 9
Total lines: 41
Line coverage: 100%
Branch coverage
100%
Covered branches: 6
Total branches: 6
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%
get_IsValid()100%22100%
Matches(...)100%44100%

File(s)

/home/runner/work/Trailblazer/Trailblazer/src/Trailblazer/Pathing/Graph/NavigationGridGenerationIdentity.cs

#LineLine coverage
 1//=======================================================================
 2// NavigationGridGenerationIdentity.cs
 3//=======================================================================
 4// MIT License, Copyright (c) 2024-present David Oravsky (mrdav30)
 5// See LICENSE file in the project root for full license information.
 6//=======================================================================
 7
 8using GridForge.Configuration;
 9
 10namespace Trailblazer.Pathing;
 11
 12/// <summary>Identifies one exact runtime GridForge grid generation.</summary>
 13internal readonly struct NavigationGridGenerationIdentity
 14{
 15    internal NavigationGridGenerationIdentity(
 16        long worldSpawnToken,
 17        ushort gridIndex,
 18        long gridSpawnToken,
 19        GridConfigurationKey configurationKey)
 20    {
 164221        WorldSpawnToken = worldSpawnToken;
 164222        GridIndex = gridIndex;
 164223        GridSpawnToken = gridSpawnToken;
 164224        ConfigurationKey = configurationKey;
 164225    }
 26
 27    internal long WorldSpawnToken { get; }
 28
 29    internal ushort GridIndex { get; }
 30
 31    internal long GridSpawnToken { get; }
 32
 33    internal GridConfigurationKey ConfigurationKey { get; }
 34
 2066235    internal bool IsValid => WorldSpawnToken > 0 && GridSpawnToken > 0;
 36
 37    internal bool Matches(long worldSpawnToken, ushort gridIndex, long gridSpawnToken) =>
 1590938        WorldSpawnToken == worldSpawnToken
 1590939        && GridIndex == gridIndex
 1590940        && GridSpawnToken == gridSpawnToken;
 41}