< Summary

Class:DCL.MainSceneFactory
Assembly:InitialSceneReferences
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/InitialSceneReferences/MainSceneFactory.cs
Covered lines:44
Uncovered lines:0
Coverable lines:44
Total lines:92
Line coverage:100% (44 of 44)
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%110100%
CreateAudioHandler()0%110100%
CreateNavMap()0%110100%
CreateEnvironment(...)0%110100%
CreateBridges()0%220100%
CreateEventSystem()0%110100%
CreateBuilderInWorldBridge(...)0%220100%
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 DCL.Builder;
 3using UnityEngine;
 4using UnityEngine.SocialPlatforms.Impl;
 5
 6namespace DCL
 7{
 8    public static class MainSceneFactory
 9    {
 10        public static List<GameObject> CreatePlayerSystems()
 11        {
 59212            List<GameObject> result = new List<GameObject>();
 59213            GameObject playerGo = LoadAndInstantiate("Player");
 59214            var playerReferences = playerGo.GetComponent<PlayerReferences>();
 59215            SceneReferences.i.playerAvatarController = playerReferences.avatarController;
 59216            SceneReferences.i.biwCameraParent = playerReferences.biwCameraRoot;
 59217            SceneReferences.i.inputController = playerReferences.inputController;
 59218            SceneReferences.i.cursorCanvas = playerReferences.cursorCanvas;
 59219            SceneReferences.i.cameraController = playerReferences.cameraController;
 59220            SceneReferences.i.mainCamera = playerReferences.mainCamera;
 59221            SceneReferences.i.thirdPersonCamera = playerReferences.thirdPersonCamera;
 59222            SceneReferences.i.firstPersonCamera = playerReferences.firstPersonCamera;
 23
 24            // Why we don't just add the playerGo?
 25            // This happens because the characterController reparents itself.
 26            // (and any of our systems may do this as well).
 59227            result.Add( playerReferences.cursorCanvas.gameObject );
 59228            result.Add( playerReferences.cameraController.gameObject );
 59229            result.Add( playerReferences.inputController.gameObject );
 59230            result.Add( playerReferences.avatarController.gameObject );
 59231            result.Add( playerGo );
 32
 59233            return result;
 34        }
 35
 36        public static GameObject CreateMouseCatcher()
 37        {
 5838            GameObject result = LoadAndInstantiate("MouseCatcher");
 5839            MouseCatcher mouseCatcher = result.GetComponent<MouseCatcher>();
 5840            SceneReferences.i.mouseCatcher = mouseCatcher;
 5841            return result;
 42        }
 43
 5244        public static GameObject CreateHudController() => LoadAndInstantiate("HUDController");
 45
 5246        public static GameObject CreateAudioHandler() => LoadAndInstantiate("HUDAudioHandler");
 47
 5448        public static GameObject CreateNavMap() => LoadAndInstantiate("NavMap");
 49
 50        public static GameObject CreateEnvironment(string prefabPath = "Environment")
 51        {
 14352            GameObject result = LoadAndInstantiate(prefabPath);
 14353            var env = result.GetComponent<EnvironmentReferences>();
 14354            SceneReferences.i.environmentLight = env.environmentLight;
 14355            SceneReferences.i.postProcessVolume = env.postProcessVolume;
 14356            SceneReferences.i.groundVisual = env.ground;
 14357            return result;
 58        }
 59
 60        public static GameObject CreateBridges()
 61        {
 5562            if (SceneReferences.i.bridgeGameObject == null)
 63            {
 5364                var bridges = LoadAndInstantiate("Bridges");
 5365                SceneReferences.i.bridgeGameObject = bridges;
 5366                return bridges;
 67            }
 68
 269            return SceneReferences.i.bridgeGameObject;
 70        }
 71
 12672        public static GameObject CreateEventSystem() => LoadAndInstantiate("EventSystem");
 73
 74
 75        public static BuilderInWorldBridge CreateBuilderInWorldBridge(GameObject gameObject = null)
 76        {
 3877            if (gameObject == null)
 3878                gameObject = new GameObject("BuilderInWorldBridge");
 79
 3880            var instance = gameObject.AddComponent<BuilderInWorldBridge>();
 3881            SceneReferences.i.biwBridgeGameObject = instance.gameObject;
 3882            return instance;
 83        }
 84
 85        private static GameObject LoadAndInstantiate(string name)
 86        {
 113087            GameObject instance = UnityEngine.Object.Instantiate(Resources.Load(name)) as GameObject;
 113088            instance.name = name;
 113089            return instance;
 90        }
 91    }
 92}