< Summary

Class:RenderingController
Assembly:Rendering
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/Rendering/RenderingController.cs
Covered lines:38
Uncovered lines:10
Coverable lines:48
Total lines:103
Line coverage:79.1% (38 of 48)
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
 21011    public CompositeLock renderingActivatedAckLock = new CompositeLock();
 12
 013    private bool activatedRenderingBefore { get; set; } = false;
 14
 15    void Awake()
 16    {
 10517        CommonScriptableObjects.rendererState.OnLockAdded += AddLock;
 10518        CommonScriptableObjects.rendererState.OnLockRemoved += RemoveLock;
 10519        CommonScriptableObjects.rendererState.Set(false);
 10520    }
 21
 22    void OnDestroy()
 23    {
 10424        CommonScriptableObjects.rendererState.OnLockAdded -= AddLock;
 10425        CommonScriptableObjects.rendererState.OnLockRemoved -= RemoveLock;
 10426    }
 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    }
 42
 43    [ContextMenu("Enable Rendering")]
 244    public void ActivateRendering() { ActivateRendering(forceActivate: false); }
 45
 046    public void ForceActivateRendering() { ActivateRendering(forceActivate: true); }
 47
 48    public void ActivateRendering(bool forceActivate)
 49    {
 150        if (CommonScriptableObjects.rendererState.Get())
 051            return;
 52
 153        if (!firstActivationTimeHasBeenSet)
 54        {
 155            firstActivationTime = Time.realtimeSinceStartup;
 156            firstActivationTimeHasBeenSet = true;
 57        }
 58
 159        if (!forceActivate && !renderingActivatedAckLock.isUnlocked)
 60        {
 061            renderingActivatedAckLock.OnAllLocksRemoved -= ActivateRendering_Internal;
 062            renderingActivatedAckLock.OnAllLocksRemoved += ActivateRendering_Internal;
 063            return;
 64        }
 65
 166        ActivateRendering_Internal();
 167    }
 68
 69    private void ActivateRendering_Internal()
 70    {
 171        renderingActivatedAckLock.OnAllLocksRemoved -= ActivateRendering_Internal;
 72
 173        if (!activatedRenderingBefore)
 74        {
 175            Utils.UnlockCursor();
 176            activatedRenderingBefore = true;
 77        }
 78
 179        DCL.Configuration.ParcelSettings.VISUAL_LOADING_ENABLED = true;
 180        CommonScriptableObjects.rendererState.Set(true);
 81
 182        WebInterface.ReportControlEvent(new WebInterface.ActivateRenderingACK());
 183    }
 84
 85    private void AddLock(object id)
 86    {
 64287        if (CommonScriptableObjects.rendererState.Get())
 55588            return;
 89
 8790        if (VERBOSE)
 091            Debug.Log("Add lock: " + id);
 92
 8793        renderingActivatedAckLock.AddLock(id);
 8794    }
 95
 96    private void RemoveLock(object id)
 97    {
 18698        if (VERBOSE)
 099            Debug.Log("remove lock: " + id);
 100
 186101        renderingActivatedAckLock.RemoveLock(id);
 186102    }
 103}