< Summary

Class:RenderingController
Assembly:Rendering
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/Rendering/RenderingController.cs
Covered lines:39
Uncovered lines:10
Coverable lines:49
Total lines:104
Line coverage:79.5% (39 of 49)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
RenderingController()0%110100%
Awake()0%110100%
OnDestroy()0%110100%
DeactivateRendering()0%2.062075%
DeactivateRendering_Internal()0%110100%
ActivateRendering()0%110100%
ForceActivateRendering()0%2100%
ActivateRendering(...)0%6.25063.64%
ActivateRendering_Internal()0%220100%
AddLock(...)0%5.125083.33%
RemoveLock(...)0%4.254075%

File(s)

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

#LineLine coverage
 1using DCL.Helpers;
 2using DCL.Interface;
 3using UnityEngine;
 4
 5public class RenderingController : MonoBehaviour
 6{
 07    public static float firstActivationTime { get; private set; }
 8    private bool firstActivationTimeHasBeenSet = false;
 9    private bool VERBOSE = false;
 10
 24611    public CompositeLock renderingActivatedAckLock = new CompositeLock();
 12
 013    private bool activatedRenderingBefore { get; set; } = false;
 14
 15    void Awake()
 16    {
 12317        CommonScriptableObjects.rendererState.OnLockAdded += AddLock;
 12318        CommonScriptableObjects.rendererState.OnLockRemoved += RemoveLock;
 12319        CommonScriptableObjects.rendererState.Set(false);
 12320    }
 21
 22    void OnDestroy()
 23    {
 12224        CommonScriptableObjects.rendererState.OnLockAdded -= AddLock;
 12225        CommonScriptableObjects.rendererState.OnLockRemoved -= RemoveLock;
 12226    }
 27
 28    [ContextMenu("Disable Rendering")]
 29    public void DeactivateRendering()
 30    {
 131        if (!CommonScriptableObjects.rendererState.Get())
 032            return;
 33
 134        DeactivateRendering_Internal();
 135    }
 36
 37    void DeactivateRendering_Internal()
 38    {
 139        DCL.Configuration.ParcelSettings.VISUAL_LOADING_ENABLED = false;
 140        CommonScriptableObjects.rendererState.Set(false);
 141        WebInterface.ReportControlEvent(new WebInterface.DeactivateRenderingACK());
 142    }
 43
 44    [ContextMenu("Enable Rendering")]
 245    public void ActivateRendering() { ActivateRendering(forceActivate: false); }
 46
 047    public void ForceActivateRendering() { ActivateRendering(forceActivate: true); }
 48
 49    public void ActivateRendering(bool forceActivate)
 50    {
 151        if (CommonScriptableObjects.rendererState.Get())
 052            return;
 53
 154        if (!firstActivationTimeHasBeenSet)
 55        {
 156            firstActivationTime = Time.realtimeSinceStartup;
 157            firstActivationTimeHasBeenSet = true;
 58        }
 59
 160        if (!forceActivate && !renderingActivatedAckLock.isUnlocked)
 61        {
 062            renderingActivatedAckLock.OnAllLocksRemoved -= ActivateRendering_Internal;
 063            renderingActivatedAckLock.OnAllLocksRemoved += ActivateRendering_Internal;
 064            return;
 65        }
 66
 167        ActivateRendering_Internal();
 168    }
 69
 70    private void ActivateRendering_Internal()
 71    {
 172        renderingActivatedAckLock.OnAllLocksRemoved -= ActivateRendering_Internal;
 73
 174        if (!activatedRenderingBefore)
 75        {
 176            Utils.UnlockCursor();
 177            activatedRenderingBefore = true;
 78        }
 79
 180        DCL.Configuration.ParcelSettings.VISUAL_LOADING_ENABLED = true;
 181        CommonScriptableObjects.rendererState.Set(true);
 82
 183        WebInterface.ReportControlEvent(new WebInterface.ActivateRenderingACK());
 184    }
 85
 86    private void AddLock(object id)
 87    {
 79888        if (CommonScriptableObjects.rendererState.Get())
 69389            return;
 90
 10591        if (VERBOSE)
 092            Debug.Log("Add lock: " + id);
 93
 10594        renderingActivatedAckLock.AddLock(id);
 10595    }
 96
 97    private void RemoveLock(object id)
 98    {
 16599        if (VERBOSE)
 0100            Debug.Log("remove lock: " + id);
 101
 165102        renderingActivatedAckLock.RemoveLock(id);
 165103    }
 104}