< Summary

Information
Class: Trailblazer.TrailblazerLifecycleHooks
Assembly: Trailblazer
File(s): /home/runner/work/Trailblazer/Trailblazer/src/Trailblazer/Runtime/TrailblazerLifecycleHooks.cs
Line coverage
100%
Covered lines: 28
Uncovered lines: 0
Coverable lines: 28
Total lines: 79
Line coverage: 100%
Branch coverage
100%
Covered branches: 10
Total branches: 10
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_SimulateHookCount()100%11100%
get_ResetHookCount()100%11100%
RegisterOnSimulate(...)100%11100%
RegisterOnLateSimulate(...)100%11100%
RegisterOnVisualize(...)100%11100%
RegisterOnReset(...)100%11100%
RegisterOnFrameRateChanged(...)100%11100%
InvokeSimulate()100%22100%
InvokeLateSimulate()100%22100%
InvokeVisualize()100%22100%
InvokeReset()100%22100%
InvokeFrameRateChanged()100%22100%

File(s)

/home/runner/work/Trailblazer/Trailblazer/src/Trailblazer/Runtime/TrailblazerLifecycleHooks.cs

#LineLine coverage
 1//=======================================================================
 2// TrailblazerLifecycleHooks.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 System;
 9using SwiftCollections;
 10using Trailblazer.Support;
 11
 12namespace Trailblazer;
 13
 14/// <summary>
 15/// Owns ordered lifecycle hook storage for one Trailblazer runtime owner.
 16/// </summary>
 17internal sealed class TrailblazerLifecycleHooks
 18{
 98919    private readonly LifecycleHookHandler _hookHandler = new();
 20
 98921    private readonly SwiftList<OrderedLifecycleHook> _simulateHooks = new();
 22
 98923    private readonly SwiftList<OrderedLifecycleHook> _lateSimulateHooks = new();
 24
 98925    private readonly SwiftList<OrderedLifecycleHook> _visualizeHooks = new();
 26
 98927    private readonly SwiftList<OrderedLifecycleHook> _resetHooks = new();
 28
 98929    private readonly SwiftList<OrderedLifecycleHook> _frameRateChangedHooks = new();
 30
 231    internal int SimulateHookCount => _simulateHooks.Count;
 32
 233    internal int ResetHookCount => _resetHooks.Count;
 34
 35    internal IDisposable RegisterOnSimulate(string owner, int order, Action callback) =>
 1036        _hookHandler.RegisterHook(_simulateHooks, owner, order, callback);
 37
 38    internal IDisposable RegisterOnLateSimulate(string owner, int order, Action callback) =>
 139        _hookHandler.RegisterHook(_lateSimulateHooks, owner, order, callback);
 40
 41    internal IDisposable RegisterOnVisualize(string owner, int order, Action callback) =>
 142        _hookHandler.RegisterHook(_visualizeHooks, owner, order, callback);
 43
 44    internal IDisposable RegisterOnReset(string owner, int order, Action callback) =>
 245        _hookHandler.RegisterHook(_resetHooks, owner, order, callback);
 46
 47    internal IDisposable RegisterOnFrameRateChanged(string owner, int order, Action callback) =>
 148        _hookHandler.RegisterHook(_frameRateChangedHooks, owner, order, callback);
 49
 50    internal void InvokeSimulate()
 51    {
 1218552        if (_simulateHooks.Count != 0)
 353            _hookHandler.InvokeHooks(_simulateHooks);
 1218554    }
 55
 56    internal void InvokeLateSimulate()
 57    {
 258        if (_lateSimulateHooks.Count != 0)
 159            _hookHandler.InvokeHooks(_lateSimulateHooks);
 260    }
 61
 62    internal void InvokeVisualize()
 63    {
 564        if (_visualizeHooks.Count != 0)
 265            _hookHandler.InvokeHooks(_visualizeHooks);
 566    }
 67
 68    internal void InvokeReset()
 69    {
 2270        if (_resetHooks.Count != 0)
 171            _hookHandler.InvokeHooks(_resetHooks);
 2272    }
 73
 74    internal void InvokeFrameRateChanged()
 75    {
 976        if (_frameRateChangedHooks.Count != 0)
 177            _hookHandler.InvokeHooks(_frameRateChangedHooks);
 978    }
 79}