< Summary

Class:DCL.Skybox.SkyboxCamera
Assembly:ProceduralSkybox
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Rendering/ProceduralSkybox/ToolProceduralSkybox/Scripts/SkyboxCamera.cs
Covered lines:0
Uncovered lines:23
Coverable lines:23
Total lines:55
Line coverage:0% (0 of 23)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
SkyboxCamera()0%2100%
AssignTargetCamera(...)0%12300%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Rendering/ProceduralSkybox/ToolProceduralSkybox/Scripts/SkyboxCamera.cs

#LineLine coverage
 1using System.Collections;
 2using System.Collections.Generic;
 3using UnityEngine;
 4using UnityEngine.Rendering.Universal;
 5
 6namespace DCL.Skybox
 7{
 8
 9    public class SkyboxCamera
 10    {
 11        private GameObject skyboxCameraGO;
 12        private Camera skyboxCamera;
 13        private SkyboxCameraBehaviour camBehavior;
 14
 015        public SkyboxCamera()
 16        {
 17            // Make a new camera
 018            skyboxCameraGO = new GameObject("Skybox Camera");
 019            skyboxCameraGO.transform.position = Vector3.zero;
 020            skyboxCameraGO.transform.rotation = Quaternion.identity;
 21
 22            // Attach camera component
 023            skyboxCamera = skyboxCameraGO.AddComponent<Camera>();
 24
 025            var cameraData = skyboxCamera.GetUniversalAdditionalCameraData();
 026            cameraData.renderShadows = false;
 027            skyboxCamera.useOcclusionCulling = false;
 028            skyboxCamera.cullingMask = (1 << LayerMask.NameToLayer("Skybox"));
 29
 30            // Attach follow script
 031            camBehavior = skyboxCameraGO.AddComponent<SkyboxCameraBehaviour>();
 032        }
 33
 34        public void AssignTargetCamera(Transform mainCam)
 35        {
 036            if (mainCam == null)
 037                return;
 38
 039            Camera mainCamComponent = mainCam.GetComponent<Camera>();
 040            var mainCameraData = mainCamComponent.GetUniversalAdditionalCameraData();
 041            var cameraStack = mainCameraData.cameraStack;
 42
 043            mainCameraData.renderType = CameraRenderType.Overlay;
 44
 045            var cameraData = skyboxCamera.GetUniversalAdditionalCameraData();
 046            cameraData.cameraStack.Add(mainCamComponent);
 047            foreach (Camera camera in cameraStack)
 48            {
 049                cameraData.cameraStack.Add(camera);
 50            }
 51
 052            camBehavior.AssignCamera(mainCamComponent, skyboxCamera);
 053        }
 54    }
 55}