< Summary

Class:HUDCanvasCameraModeController
Assembly:UIHelpers
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Helpers/UIHelpers/HUDCanvasCameraModeController.cs
Covered lines:12
Uncovered lines:0
Coverable lines:12
Total lines:31
Line coverage:100% (12 of 12)
Covered branches:0
Total branches:0
Covered methods:3
Total methods:3
Method coverage:100% (3 of 3)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
HUDCanvasCameraModeController(...)0%110100%
UpdateCanvas(...)0%330100%
Dispose()0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Helpers/UIHelpers/HUDCanvasCameraModeController.cs

#LineLine coverage
 1using System;
 2using UnityEngine;
 3using UnityEngine.Assertions;
 4
 5/// <summary>
 6/// This helper will prepare the canvas to work in screen space or camera space if the proper DataStore is set
 7/// </summary>
 8public class HUDCanvasCameraModeController : IDisposable
 9{
 10    internal readonly Canvas canvas;
 11    internal readonly BaseVariable<Camera> hudCameraVariable;
 12
 13213    public HUDCanvasCameraModeController(Canvas canvas, BaseVariable<Camera> hudCameraVariable)
 14    {
 13215        Assert.IsNotNull(canvas);
 13216        Assert.IsNotNull(hudCameraVariable);
 17
 13218        this.canvas = canvas;
 13219        this.hudCameraVariable = hudCameraVariable;
 13220        this.hudCameraVariable.OnChange += UpdateCanvas;
 13221        UpdateCanvas(this.hudCameraVariable.Get(), null);
 13222    }
 23
 24    internal void UpdateCanvas(Camera newCamera, Camera oldCamera)
 25    {
 13426        canvas.renderMode = newCamera == null ? RenderMode.ScreenSpaceOverlay : RenderMode.ScreenSpaceCamera;
 13427        canvas.worldCamera = newCamera;
 13428    }
 29
 19630    public void Dispose() { hudCameraVariable.OnChange -= UpdateCanvas; }
 31}