< Summary

Class:DCL.MainSceneFactory
Assembly:InitialSceneReferences
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/InitialSceneReferences/MainSceneFactory.cs
Covered lines:36
Uncovered lines:2
Coverable lines:38
Total lines:79
Line coverage:94.7% (36 of 38)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
CreatePlayerSystems()0%110100%
CreateMouseCatcher()0%110100%
CreateHudController()0%2100%
CreateAudioHandler()0%2100%
CreateNavMap()0%110100%
CreateEnvironment(...)0%110100%
CreateBridges()0%220100%
CreateEventSystem()0%110100%
LoadAndInstantiate(...)0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/InitialSceneReferences/MainSceneFactory.cs

#LineLine coverage
 1using System.Collections.Generic;
 2using UnityEngine;
 3using UnityEngine.SocialPlatforms.Impl;
 4
 5namespace DCL
 6{
 7    public static class MainSceneFactory
 8    {
 9        public static List<GameObject> CreatePlayerSystems()
 10        {
 40511            List<GameObject> result = new List<GameObject>();
 40512            GameObject playerGo = LoadAndInstantiate("Player");
 40513            var playerReferences = playerGo.GetComponent<PlayerReferences>();
 40514            SceneReferences.i.playerAvatarController = playerReferences.avatarController;
 40515            SceneReferences.i.inputController = playerReferences.inputController;
 40516            SceneReferences.i.cursorCanvas = playerReferences.cursorCanvas;
 40517            SceneReferences.i.cameraController = playerReferences.cameraController;
 40518            SceneReferences.i.mainCamera = playerReferences.mainCamera;
 40519            SceneReferences.i.thirdPersonCamera = playerReferences.thirdPersonCamera;
 40520            SceneReferences.i.firstPersonCamera = playerReferences.firstPersonCamera;
 21
 22            // Why we don't just add the playerGo?
 23            // This happens because the characterController reparents itself.
 24            // (and any of our systems may do this as well).
 40525            result.Add( playerReferences.cursorCanvas.gameObject );
 40526            result.Add( playerReferences.cameraController.gameObject );
 40527            result.Add( playerReferences.inputController.gameObject );
 40528            result.Add( playerReferences.avatarController.gameObject );
 40529            result.Add( playerGo );
 30
 40531            return result;
 32        }
 33
 34        public static GameObject CreateMouseCatcher()
 35        {
 336            GameObject result = LoadAndInstantiate("MouseCatcher");
 337            MouseCatcher mouseCatcher = result.GetComponent<MouseCatcher>();
 338            SceneReferences.i.mouseCatcher = mouseCatcher;
 339            return result;
 40        }
 41
 042        public static GameObject CreateHudController() => LoadAndInstantiate("HUDController");
 43
 044        public static GameObject CreateAudioHandler() => LoadAndInstantiate("HUDAudioHandler");
 45
 246        public static GameObject CreateNavMap() => LoadAndInstantiate("NavMap");
 47
 48        public static GameObject CreateEnvironment(string prefabPath = "Environment")
 49        {
 8850            GameObject result = LoadAndInstantiate(prefabPath);
 8851            var env = result.GetComponent<EnvironmentReferences>();
 8852            SceneReferences.i.environmentLight = env.environmentLight;
 8853            SceneReferences.i.postProcessVolume = env.postProcessVolume;
 8854            SceneReferences.i.groundVisual = env.ground;
 8855            return result;
 56        }
 57
 58        public static GameObject CreateBridges()
 59        {
 360            if (SceneReferences.i.bridgeGameObject == null)
 61            {
 162                var bridges = LoadAndInstantiate("Bridges");
 163                SceneReferences.i.bridgeGameObject = bridges;
 164                return bridges;
 65            }
 66
 267            return SceneReferences.i.bridgeGameObject;
 68        }
 69
 7470        public static GameObject CreateEventSystem() => LoadAndInstantiate("EventSystem");
 71
 72        private static GameObject LoadAndInstantiate(string name)
 73        {
 57374            GameObject instance = UnityEngine.Object.Instantiate(Resources.Load(name)) as GameObject;
 57375            instance.name = name;
 57376            return instance;
 77        }
 78    }
 79}