< Summary

Class:LoadingHUDController
Assembly:LoadingHUD
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/LoadingHUD/LoadingHUDController.cs
Covered lines:36
Uncovered lines:3
Coverable lines:39
Total lines:66
Line coverage:92.3% (36 of 39)
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;
 2using UnityEngine;
 3
 4public class LoadingHUDController : IHUD
 5{
 6    internal LoadingHUDView view;
 87    internal BaseVariable<bool> visible => DataStore.i.HUDs.loadingHUD.visible;
 128    internal BaseVariable<bool> fadeIn => DataStore.i.HUDs.loadingHUD.fadeIn;
 69    internal BaseVariable<bool> fadeOut => DataStore.i.HUDs.loadingHUD.fadeOut;
 1910    internal BaseVariable<string> message => DataStore.i.HUDs.loadingHUD.message;
 1911    internal BaseVariable<float> percentage => DataStore.i.HUDs.loadingHUD.percentage;
 1912    internal BaseVariable<bool> showTips => DataStore.i.HUDs.loadingHUD.showTips;
 13
 614    protected internal virtual LoadingHUDView CreateView() { return LoadingHUDView.CreateView(); }
 15
 16    public void Initialize()
 17    {
 618        view = CreateView();
 619        ClearEvents();
 620        SetViewVisible(fadeIn.Get(), true);
 621        view?.SetMessage(message.Get());
 622        view?.SetPercentage(percentage.Get() / 100f);
 623        view?.SetTips(showTips.Get());
 24
 25        // set initial states to prevent reconciliation errors
 626        fadeIn.OnChange += OnFadeInChange;
 627        fadeOut.OnChange += OnFadeOutChange;
 28
 629        message.OnChange += OnMessageChanged;
 630        percentage.OnChange += OnPercentageChanged;
 631        showTips.OnChange += OnShowTipsChanged;
 632    }
 33
 034    private void OnVisibleHUDChanged(bool current, bool previous) { SetViewVisible(current, false); }
 235    private void OnMessageChanged(string current, string previous) { view?.SetMessage(current); }
 036    private void OnPercentageChanged(float current, float previous) { view?.SetPercentage(current / 100f); }
 237    private void OnShowTipsChanged(bool current, bool previous) { view?.SetTips(current); }
 38    private void OnFadeInChange(bool current, bool previous)
 39    {
 140        if (current)
 141            SetViewVisible(true, false);
 142    }
 43    private void OnFadeOutChange(bool current, bool previous)
 44    {
 145        if (current)
 046            SetViewVisible(false, false);
 147    }
 48
 249    public void SetVisibility(bool visible) { this.visible.Set(visible); }
 50
 51    public void Dispose()
 52    {
 153        ClearEvents();
 154        view?.Dispose();
 155    }
 56
 57    internal void ClearEvents()
 58    {
 759        visible.OnChange -= OnVisibleHUDChanged;
 760        message.OnChange -= OnMessageChanged;
 761        percentage.OnChange -= OnPercentageChanged;
 762        showTips.OnChange -= OnShowTipsChanged;
 763    }
 64
 1465    internal void SetViewVisible(bool isVisible, bool instant) { view?.SetVisible(isVisible, instant); }
 66}