< Summary

Information
Class: Trailblazer.Navigation.Motor.GlobalEnvironmentForces
Assembly: Trailblazer
File(s): /home/runner/work/Trailblazer/Trailblazer/src/Trailblazer/Navigation/Motor/Locomotion/Forces/GlobalEnvironmentForces.cs
Line coverage
100%
Covered lines: 9
Uncovered lines: 0
Coverable lines: 9
Total lines: 56
Line coverage: 100%
Branch coverage
50%
Covered branches: 2
Total branches: 4
Branch coverage: 50%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.cctor()100%11100%
.ctor(...)50%44100%
Reset()100%11100%

File(s)

/home/runner/work/Trailblazer/Trailblazer/src/Trailblazer/Navigation/Motor/Locomotion/Forces/GlobalEnvironmentForces.cs

#LineLine coverage
 1using FixedMathSharp;
 2
 3namespace Trailblazer.Navigation.Motor;
 4
 5/// <summary>
 6/// Holds simulation-wide gravity defaults read by all <see cref="MoveLocomotion"/> instances
 7/// that do not carry a per-instance override.
 8/// </summary>
 9/// <remarks>
 10/// Access the shared instance through <see cref="LocomotionForces.GlobalForces"/>.
 11/// Assigning fields on that instance changes the effective gravity for every unoverridden object
 12/// on the next simulation frame without touching individual locomotion instances.
 13/// </remarks>
 14public sealed class GlobalEnvironmentForces
 15{
 16    /// <summary>
 17    /// The default fixed-point acceleration force for gravity.
 18    /// </summary>
 19    /// <remarks>
 20    /// Default acceleration due to gravity is approximately 9.8 m/s².
 21    /// </remarks>
 122    public readonly static Fixed64 DefaultGravityForce = Fixed64.FromRaw(0x9CCCCCCCDL);
 23
 24    /// <summary>
 25    /// The default maximum downward fixed-point velocity a scout can reach due to gravity.
 26    /// </summary>
 27    /// <remarks>
 28    /// Default terminal velocity is roughly 53 m/s (190 km/h or ~120 mph).
 29    /// </remarks>
 130    public readonly static Fixed64 DefaultTerminalVelocity = (Fixed64)53f;
 31
 32    /// <summary>
 33    /// The gravity force applied to all navigators without a per-instance override.
 34    /// </summary>
 35    public Fixed64 GravityForce;
 36
 37    /// <summary>
 38    /// The terminal fall velocity cap applied to all navigators without a per-instance override.
 39    /// </summary>
 40    public Fixed64 TerminalVelocity;
 41
 142    internal GlobalEnvironmentForces(Fixed64? gravityForce = null, Fixed64? terminalVelocity = null)
 43    {
 144        GravityForce = gravityForce ?? DefaultGravityForce;
 145        TerminalVelocity = terminalVelocity ?? DefaultTerminalVelocity;
 146    }
 47
 48    /// <summary>
 49    /// Restores both global forces to the <see cref="MoveLocomotion"/> defaults.
 50    /// </summary>
 51    public void Reset()
 52    {
 553        GravityForce = DefaultGravityForce;
 554        TerminalVelocity = DefaultTerminalVelocity;
 555    }
 56}