< Summary

Class:ShowHideAnimator
Assembly:HUDCommon
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/Common/ShowHideAnimator/ShowHideAnimator.cs
Covered lines:28
Uncovered lines:0
Coverable lines:28
Total lines:78
Line coverage:100% (28 of 28)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
ShowHideAnimator()0%110100%
OnEnable()0%220100%
Show(...)0%330100%
Hide(...)0%330100%
AnimEvent_HideFinished()0%440100%
AnimEvent_ShowFinished()0%220100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/Common/ShowHideAnimator/ShowHideAnimator.cs

#LineLine coverage
 1using JetBrains.Annotations;
 2using UnityEngine;
 3
 4[RequireComponent(typeof(Animator))]
 5public class ShowHideAnimator : MonoBehaviour
 6{
 176727    public bool hideOnEnable = true;
 176728    public float animSpeedFactor = 1.0f;
 9    public bool disableAfterFadeOut;
 1767210    public string visibleParam = "visible";
 11
 12    private Animator animatorValue;
 13
 14    private int? visibleParamHashValue = null;
 15
 5716    public bool isVisible => animator.GetBool(visibleParamHash);
 17
 454618    private Animator animator => animatorValue ??= GetComponent<Animator>();
 19
 20    private int visibleParamHash
 21    {
 22        get
 23        {
 113624            if (!visibleParamHashValue.HasValue)
 73225                visibleParamHashValue = Animator.StringToHash(visibleParam);
 26
 113627            return visibleParamHashValue.Value;
 28        }
 29    }
 30
 31    private void OnEnable()
 32    {
 1763733        if ( hideOnEnable )
 34        {
 64235            Hide(true);
 36        }
 1763737    }
 38
 39    public event System.Action<ShowHideAnimator> OnWillFinishHide;
 40    public event System.Action<ShowHideAnimator> OnWillFinishStart;
 41
 42    public void Show(bool instant = false)
 43    {
 17644        animator.speed = animSpeedFactor;
 45
 17646        if ( animator.isActiveAndEnabled )
 16847            animator.SetBool(visibleParamHash, true);
 48
 17649        if (instant)
 5350            animator.Update(10);
 17651    }
 52
 53    public void Hide(bool instant = false)
 54    {
 103755        animator.speed = animSpeedFactor;
 56
 103757        if ( animator.isActiveAndEnabled )
 91158            animator.SetBool(visibleParamHash, false);
 59
 103760        if (instant)
 93161            animator.Update(10);
 103762    }
 63
 64    [UsedImplicitly]
 65    public void AnimEvent_HideFinished()
 66    {
 5367        OnWillFinishHide?.Invoke(this);
 68
 5369        if (disableAfterFadeOut && gameObject != null)
 70        {
 171            gameObject.SetActive(false);
 72        }
 5373    }
 74
 75    [UsedImplicitly]
 76    public void AnimEvent_ShowFinished() =>
 5177        OnWillFinishStart?.Invoke(this);
 78}