< Summary

Class:DCL.Builder.Context
Assembly:BIWContext
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/BuilderInWorld/Scripts/Context/Context.cs
Covered lines:25
Uncovered lines:0
Coverable lines:25
Total lines:180
Line coverage:100% (25 of 25)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Context(...)0%110100%
Dispose()0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/BuilderInWorld/Scripts/Context/Context.cs

#LineLine coverage
 1using System.Collections;
 2using System.Collections.Generic;
 3using DCL;
 4using UnityEngine;
 5
 6namespace DCL.Builder
 7{
 8    public class Context : IContext
 9    {
 10        private const string PROJECT_REFERENCES_PATH = "ScriptableObjects/ProjectReferences";
 11        private const string INPUTS_PATH = "ScriptableObjects/InputReferences";
 12
 13        //Scriptable Objects
 26114        public BIWProjectReferences projectReferencesAsset { get;  set; }
 32915        public BIWInputsReferences inputsReferencesAsset { get;  set; }
 16
 17        //Builder Parts
 718        public IBuilderMainPanelController panelHUD { get; internal set; }
 1119        public IBIWEditor editor  { get; internal set; }
 4120        public IBuilderAPIController builderAPIController { get; internal set; }
 721        public ISceneManager sceneManager  { get; internal set; }
 1722        public ICameraController cameraController  { get; internal set; }
 23
 41824        public ISceneReferences sceneReferences { get; internal set; }
 25
 26        //Editor
 336327        public IEditorContext editorContext { get; internal set; }
 28
 22129        public Context(IBIWEditor editor,
 30            IBuilderMainPanelController panelHUD,
 31            IBuilderAPIController builderAPIController,
 32            ISceneManager sceneManager,
 33            ICameraController cameraController,
 34            IBuilderEditorHUDController editorHUD,
 35            IBIWOutlinerController outlinerController,
 36            IBIWInputHandler inputHandler,
 37            IBIWInputWrapper inputWrapper,
 38            IBIWPublishController publishController,
 39            IBIWCreatorController creatorController,
 40            IBIWModeController modeController,
 41            IBIWFloorHandler floorHandler,
 42            IBIWEntityHandler entityHandler,
 43            IBIWActionController actionController,
 44            IBIWSaveController saveController,
 45            IBIWRaycastController raycastController,
 46            IBIWGizmosController gizmosController,
 47            ISceneReferences sceneReferences)
 48        {
 49
 22150            projectReferencesAsset = Resources.Load<BIWProjectReferences>(PROJECT_REFERENCES_PATH);
 22151            inputsReferencesAsset = Resources.Load<BIWInputsReferences>(INPUTS_PATH);
 52
 22153            this.sceneReferences = sceneReferences;
 54
 55            //Builder parts
 22156            this.panelHUD = panelHUD;
 22157            this.editor = editor;
 22158            this.builderAPIController = builderAPIController;
 22159            this.sceneManager = sceneManager;
 22160            this.cameraController = cameraController;
 61
 22162            editorContext = new EditorContext(editorHUD,
 63                outlinerController,
 64                inputHandler,
 65                inputWrapper,
 66                publishController,
 67                creatorController,
 68                modeController,
 69                floorHandler,
 70                entityHandler,
 71                actionController,
 72                saveController,
 73                raycastController,
 74                gizmosController,
 75                sceneReferences
 76            );
 77
 22178        }
 79
 80        public void Dispose()
 81        {
 10382            editorContext.Dispose();
 10383            panelHUD.Dispose();
 10384            projectReferencesAsset = null;
 10385            inputsReferencesAsset = null;
 10386        }
 87    }
 88
 89    public class EditorContext : IEditorContext
 90    {
 91
 92        private const string GOD_MODE_DYNAMIC_VARIABLE_PATH = "ScriptableObjects/GodModeVariables";
 93        private const string FIRST_PERSON_DYNAMIC_VARIABLE_PATH = "ScriptableObjects/FirstPersonVariables";
 94
 95        BIWGodModeDynamicVariables IEditorContext.godModeDynamicVariablesAsset => godModeDynamicVariablesAssetReference;
 96        BIWFirstPersonDynamicVariables IEditorContext.firstPersonDynamicVariablesAsset => firstPersonDynamicVariablesAss
 97
 98        //HUD
 99        public IBuilderEditorHUDController editorHUD { get; private set; }
 100
 101        // BIW Controllers
 102        public IBIWOutlinerController outlinerController { get; private set; }
 103        public IBIWInputHandler inputHandler { get; private set; }
 104        public IBIWInputWrapper inputWrapper { get; private set; }
 105        public IBIWPublishController publishController { get; private set; }
 106        public IBIWCreatorController creatorController { get; private set; }
 107        public IBIWModeController modeController { get; private set; }
 108        public IBIWFloorHandler floorHandler => floorHandlerReference;
 109
 110        internal IBIWFloorHandler floorHandlerReference;
 111        public IBIWEntityHandler entityHandler { get; private set; }
 112        public IBIWActionController actionController { get; private set; }
 113        public IBIWSaveController saveController { get; private set; }
 114        public IBIWRaycastController raycastController { get; private set; }
 115        public IBIWGizmosController gizmosController { get; private set; }
 116        public ISceneReferences sceneReferences { get; private set; }
 117
 118        //Scriptable Objects
 119        internal BIWGodModeDynamicVariables godModeDynamicVariablesAssetReference;
 120        internal BIWFirstPersonDynamicVariables firstPersonDynamicVariablesAssetReference;
 121
 122        public EditorContext(IBuilderEditorHUDController editorHUD,
 123            IBIWOutlinerController outlinerController,
 124            IBIWInputHandler inputHandler,
 125            IBIWInputWrapper inputWrapper,
 126            IBIWPublishController publishController,
 127            IBIWCreatorController creatorController,
 128            IBIWModeController modeController,
 129            IBIWFloorHandler floorHandler,
 130            IBIWEntityHandler entityHandler,
 131            IBIWActionController actionController,
 132            IBIWSaveController saveController,
 133            IBIWRaycastController raycastController,
 134            IBIWGizmosController gizmosController,
 135            ISceneReferences sceneReferences)
 136        {
 137            godModeDynamicVariablesAssetReference = Resources.Load<BIWGodModeDynamicVariables>(GOD_MODE_DYNAMIC_VARIABLE
 138            firstPersonDynamicVariablesAssetReference = Resources.Load<BIWFirstPersonDynamicVariables>(FIRST_PERSON_DYNA
 139
 140            this.editorHUD = editorHUD;
 141
 142            this.outlinerController = outlinerController;
 143            this.inputHandler = inputHandler;
 144            this.inputWrapper = inputWrapper;
 145            this.publishController = publishController;
 146            this.creatorController = creatorController;
 147            this.modeController = modeController;
 148            this.floorHandlerReference = floorHandler;
 149            this.entityHandler = entityHandler;
 150            this.actionController = actionController;
 151            this.saveController = saveController;
 152            this.raycastController = raycastController;
 153            this.gizmosController = gizmosController;
 154            this.sceneReferences = sceneReferences;
 155        }
 156
 157        public void Dispose()
 158        {
 159            editorHUD.Dispose();
 160
 161            outlinerController.Dispose();
 162            inputHandler.Dispose();
 163            inputWrapper.Dispose();
 164            publishController.Dispose();
 165            creatorController.Dispose();
 166            modeController.Dispose();
 167            floorHandler.Dispose();
 168            entityHandler.Dispose();
 169            actionController.Dispose();
 170            saveController.Dispose();
 171            raycastController.Dispose();
 172            gizmosController.Dispose();
 173
 174            sceneReferences.Dispose();
 175
 176            godModeDynamicVariablesAssetReference = null;
 177            firstPersonDynamicVariablesAssetReference = null;
 178        }
 179    }
 180}