< Summary

Class:LoadingHUDController
Assembly:LoadingHUD
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/LoadingHUD/LoadingHUDController.cs
Covered lines:40
Uncovered lines:5
Coverable lines:45
Total lines:91
Line coverage:88.8% (40 of 45)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
CreateView()0%110100%
Initialize()0%440100%
OnVisibleHUDChanged(...)0%2100%
OnMessageChanged(...)0%220100%
OnPercentageChanged(...)0%6200%
OnShowTipsChanged(...)0%220100%
OnFadeInChange(...)0%220100%
OnFadeOutChange(...)0%2.152066.67%
SetVisibility(...)0%110100%
Dispose()0%220100%
ClearEvents()0%110100%
SetViewVisible(...)0%220100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/LoadingHUD/LoadingHUDController.cs

#LineLine coverage
 1using DCL;
 2
 3public class LoadingHUDController : IHUD
 4{
 5    internal LoadingHUDView view;
 6    private readonly DataStoreRef<DataStore_LoadingScreen> dataStoreLoadingScreen;
 7
 88    internal BaseVariable<bool> visible => dataStoreLoadingScreen.Ref.loadingHUD.visible;
 129    internal BaseVariable<bool> fadeIn => dataStoreLoadingScreen.Ref.loadingHUD.fadeIn;
 610    internal BaseVariable<bool> fadeOut => dataStoreLoadingScreen.Ref.loadingHUD.fadeOut;
 1911    internal BaseVariable<string> message => dataStoreLoadingScreen.Ref.loadingHUD.message;
 1912    internal BaseVariable<float> percentage => dataStoreLoadingScreen.Ref.loadingHUD.percentage;
 1913    internal BaseVariable<bool> showTips => dataStoreLoadingScreen.Ref.loadingHUD.showTips;
 14
 15    protected internal virtual LoadingHUDView CreateView() =>
 616        LoadingHUDView.CreateView();
 17
 18    public void Initialize()
 19    {
 620        view = CreateView();
 621        ClearEvents();
 622        SetViewVisible(fadeIn.Get(), true);
 623        view?.SetMessage(message.Get());
 624        view?.SetPercentage(percentage.Get() / 100f);
 625        view?.SetTips(showTips.Get());
 26
 27        // set initial states to prevent reconciliation errors
 628        fadeIn.OnChange += OnFadeInChange;
 629        fadeOut.OnChange += OnFadeOutChange;
 30
 631        message.OnChange += OnMessageChanged;
 632        percentage.OnChange += OnPercentageChanged;
 633        showTips.OnChange += OnShowTipsChanged;
 634    }
 35
 36    private void OnVisibleHUDChanged(bool current, bool previous)
 37    {
 038        SetViewVisible(current, false);
 039    }
 40
 41    private void OnMessageChanged(string current, string previous)
 42    {
 143        view?.SetMessage(current);
 144    }
 45
 46    private void OnPercentageChanged(float current, float previous)
 47    {
 048        view?.SetPercentage(current / 100f);
 049    }
 50
 51    private void OnShowTipsChanged(bool current, bool previous)
 52    {
 153        view?.SetTips(current);
 154    }
 55
 56    private void OnFadeInChange(bool current, bool previous)
 57    {
 158        if (current)
 159            SetViewVisible(true, false);
 160    }
 61
 62    private void OnFadeOutChange(bool current, bool previous)
 63    {
 164        if (current)
 065            SetViewVisible(false, false);
 166    }
 67
 68    public void SetVisibility(bool visible)
 69    {
 170        this.visible.Set(visible);
 171    }
 72
 73    public void Dispose()
 74    {
 175        ClearEvents();
 176        view?.Dispose();
 177    }
 78
 79    internal void ClearEvents()
 80    {
 781        visible.OnChange -= OnVisibleHUDChanged;
 782        message.OnChange -= OnMessageChanged;
 783        percentage.OnChange -= OnPercentageChanged;
 784        showTips.OnChange -= OnShowTipsChanged;
 785    }
 86
 87    internal void SetViewVisible(bool isVisible, bool instant)
 88    {
 789        view?.SetVisible(isVisible, instant);
 790    }
 91}