< 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
 21413    public HUDCanvasCameraModeController(Canvas canvas, BaseVariable<Camera> hudCameraVariable)
 14    {
 21415        Assert.IsNotNull(canvas);
 21416        Assert.IsNotNull(hudCameraVariable);
 17
 21418        this.canvas = canvas;
 21419        this.hudCameraVariable = hudCameraVariable;
 21420        this.hudCameraVariable.OnChange += UpdateCanvas;
 21421        UpdateCanvas(this.hudCameraVariable.Get(), null);
 21422    }
 23
 24    internal void UpdateCanvas(Camera newCamera, Camera oldCamera)
 25    {
 21626        canvas.renderMode = newCamera == null ? RenderMode.ScreenSpaceOverlay : RenderMode.ScreenSpaceCamera;
 21627        canvas.worldCamera = newCamera;
 21628    }
 29
 37230    public void Dispose() { hudCameraVariable.OnChange -= UpdateCanvas; }
 31}