< 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

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
 12913    public HUDCanvasCameraModeController(Canvas canvas, BaseVariable<Camera> hudCameraVariable)
 14    {
 12915        Assert.IsNotNull(canvas);
 12916        Assert.IsNotNull(hudCameraVariable);
 17
 12918        this.canvas = canvas;
 12919        this.hudCameraVariable = hudCameraVariable;
 12920        this.hudCameraVariable.OnChange += UpdateCanvas;
 12921        UpdateCanvas(this.hudCameraVariable.Get(), null);
 12922    }
 23
 24    internal void UpdateCanvas(Camera newCamera, Camera oldCamera)
 25    {
 13126        canvas.renderMode = newCamera == null ? RenderMode.ScreenSpaceOverlay : RenderMode.ScreenSpaceCamera;
 13127        canvas.worldCamera = newCamera;
 13128    }
 29
 20230    public void Dispose() { hudCameraVariable.OnChange -= UpdateCanvas; }
 31}