< Summary

Class:CursorController
Assembly:DCL.Runtime
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/WorldRuntime/CursorController.cs
Covered lines:22
Uncovered lines:0
Coverable lines:22
Total lines:57
Line coverage:100% (22 of 22)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Awake()0%110100%
OnDestroy()0%110100%
OnChangeType(...)0%330100%
SetCursor(...)0%110100%
AllUIVisible_OnChange(...)0%110100%
ChangeCursorVisible(...)0%330100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/WorldRuntime/CursorController.cs

#LineLine coverage
 1using DCL;
 2using UnityEngine;
 3using UnityEngine.UI;
 4using static DCL.DataStore_Cursor;
 5
 6public class CursorController : MonoBehaviour
 7{
 8    public Image cursorImage;
 9    public Sprite normalCursor;
 10    public Sprite hoverCursor;
 11
 12    private Coroutine alphaRoutine;
 13    private bool isAllUIHidden;
 14
 15    [SerializeField] private ShowHideAnimator animator;
 16
 17    private void Awake()
 18    {
 41019        DataStore_Cursor data = DataStore.i.Get<DataStore_Cursor>();
 41020        data.cursorVisible.OnChange += ChangeCursorVisible;
 41021        data.cursorType.OnChange += OnChangeType;
 41022        CommonScriptableObjects.allUIHidden.OnChange += AllUIVisible_OnChange;
 41023    }
 24
 25    private void OnDestroy()
 26    {
 41027        DataStore_Cursor data = DataStore.i.Get<DataStore_Cursor>();
 41028        data.cursorVisible.OnChange -= ChangeCursorVisible;
 41029        data.cursorType.OnChange -= OnChangeType;
 41030        CommonScriptableObjects.allUIHidden.OnChange -= AllUIVisible_OnChange;
 41031    }
 32
 33    private void OnChangeType(CursorType current, CursorType _) =>
 834        SetCursor(current == CursorType.HOVER ? hoverCursor : normalCursor);
 35
 36    public void SetCursor(Sprite sprite)
 37    {
 1338        cursorImage.sprite = sprite;
 1339        cursorImage.SetNativeSize();
 1340    }
 41
 42    private void AllUIVisible_OnChange(bool current, bool previous)
 43    {
 1344        isAllUIHidden = current;
 45
 1346        DataStore_Cursor data = DataStore.i.Get<DataStore_Cursor>();
 1347        ChangeCursorVisible(data.cursorVisible.Get());
 1348    }
 49
 50    private void ChangeCursorVisible(bool current, bool _ = false)
 51    {
 5152        if (current && !isAllUIHidden)
 153            animator.Show();
 54        else
 5055            animator.Hide();
 5056    }
 57}