< Summary

Information
Class: Gravitas.Colliders.ColliderRuntimeShapeState<T>
Assembly: Gravitas
File(s): /home/runner/work/Gravitas/Gravitas/src/Gravitas/Colliders/State/ColliderRuntimeShapeState.cs
Line coverage
100%
Covered lines: 8
Uncovered lines: 0
Coverable lines: 8
Total lines: 37
Line coverage: 100%
Branch coverage
100%
Covered branches: 4
Total branches: 4
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%
MarkDirty()100%11100%
ShouldRebuild(...)100%44100%
Commit(...)100%11100%

File(s)

/home/runner/work/Gravitas/Gravitas/src/Gravitas/Colliders/State/ColliderRuntimeShapeState.cs

#LineLine coverage
 1//=======================================================================
 2// ColliderRuntimeShapeState.cs
 3//=======================================================================
 4// MIT License, Copyright (c) 2026–present David Oravsky (mrdav30)
 5// See LICENSE file in the project root for full license information.
 6//=======================================================================
 7
 8using System;
 9using System.Runtime.CompilerServices;
 10
 11namespace Gravitas.Colliders;
 12
 13internal class ColliderRuntimeShapeState<TSnapshot>
 14    where TSnapshot : IEquatable<TSnapshot>
 15{
 16    private TSnapshot _snapshot = default!;
 17    private bool _hasSnapshot;
 1160618    private bool _dirty = true;
 19
 20    public uint RuntimeVersion { get; private set; }
 21
 22    [MethodImpl(MethodImplOptions.AggressiveInlining)]
 749523    public void MarkDirty() => _dirty = true;
 24
 25    [MethodImpl(MethodImplOptions.AggressiveInlining)]
 26    public bool ShouldRebuild(in TSnapshot snapshot) =>
 7689427        _dirty || !_hasSnapshot || !_snapshot.Equals(snapshot);
 28
 29    [MethodImpl(MethodImplOptions.AggressiveInlining)]
 30    public void Commit(in TSnapshot snapshot)
 31    {
 4524432        _snapshot = snapshot;
 4524433        _hasSnapshot = true;
 4524434        _dirty = false;
 4524435        RuntimeVersion++;
 4524436    }
 37}