< Summary

Class:DCL.IdleChecker
Assembly:IdleChecker
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/IdleChecker/IdleChecker.cs
Covered lines:19
Uncovered lines:6
Coverable lines:25
Total lines:61
Line coverage:76% (19 of 25)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
IdleChecker()0%110100%
Subscribe(...)0%2100%
Unsubscribe(...)0%2100%
Initialize()0%110100%
SetMaxTime(...)0%110100%
GetMaxTime()0%2100%
Update()0%5.395075%
SetIdleState(...)0%220100%
IdleCheck()0%110100%
isIdle()0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/IdleChecker/IdleChecker.cs

#LineLine coverage
 1using UnityEngine;
 2
 3namespace DCL
 4{
 5    public class IdleChecker : IIdleChecker
 6    {
 6677        Vector3 lastMouseCoordinate = Vector3.zero;
 6678        private int maxTime = 60;
 9        private float lastActivityTime = 0.0f;
 10        private bool idle = false;
 11        public event IIdleChecker.ChangeStatus OnChangeStatus;
 12
 013        public void Subscribe(IIdleChecker.ChangeStatus callback) { OnChangeStatus += callback; }
 14
 015        public void Unsubscribe(IIdleChecker.ChangeStatus callback) { OnChangeStatus -= callback; }
 16
 217        public void Initialize() { lastActivityTime = Time.time; }
 18
 219        public void SetMaxTime(int time) { maxTime = time; }
 20
 021        public int GetMaxTime() { return maxTime; }
 22
 23        public void Update()
 24        {
 1916725            Vector3 mouseDelta = Input.mousePosition - lastMouseCoordinate;
 26
 1916727            bool mouseMoved = mouseDelta.sqrMagnitude > 0.0001f;
 28
 1916729            if (Input.anyKey || mouseMoved)
 30            {
 031                lastActivityTime = Time.time;
 32            }
 33
 1916734            lastMouseCoordinate = Input.mousePosition;
 35
 1916736            if (idle)
 37            {
 863038                if (!IdleCheck())
 039                    SetIdleState(false);
 040            }
 41            else
 42            {
 1053743                if (IdleCheck())
 44344                    SetIdleState(true);
 45            }
 1916746        }
 47
 48        private void SetIdleState(bool status)
 49        {
 44350            idle = status;
 51
 44352            OnChangeStatus?.Invoke(idle);
 53
 44354            DCL.Interface.WebInterface.ReportIdleStateChanged(idle);
 44355        }
 56
 1916757        private bool IdleCheck() { return Time.time - lastActivityTime > maxTime; }
 58
 21459        public bool isIdle() { return idle; }
 60    }
 61}