< Summary

Class:DCL.Builder.EditorContext
Assembly:BIWContext
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/BuilderInWorld/Scripts/Context/Context.cs
Covered lines:50
Uncovered lines:1
Coverable lines:51
Total lines:182
Line coverage:98% (50 of 51)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
get_godModeDynamicVariablesAsset()0%110100%
get_firstPersonDynamicVariablesAsset()0%110100%
EditorContext(...)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
 14        public BIWProjectReferences projectReferencesAsset { get;  set; }
 15        public BIWInputsReferences inputsReferencesAsset { get;  set; }
 16
 17        //Builder Parts
 18        public IBuilderMainPanelController panelHUD { get; internal set; }
 19        public IBIWEditor editor  { get; internal set; }
 20        public IBuilderAPIController builderAPIController { get; internal set; }
 21        public ISceneManager sceneManager  { get; internal set; }
 22        public ICameraController cameraController  { get; internal set; }
 23        public ISceneReferences sceneReferences { get; internal set; }
 24        public IPublisher publisher { get; internal set; }
 25        public ICommonHUD commonHUD { get; internal set; }
 26
 27        //Editor
 28        public IEditorContext editorContext { get; internal set; }
 29
 30        public Context(IBIWEditor editor,
 31            IBuilderMainPanelController panelHUD,
 32            IBuilderAPIController builderAPIController,
 33            ISceneManager sceneManager,
 34            ICameraController cameraController,
 35            IPublisher publisher,
 36            ICommonHUD commonHUD,
 37            IBuilderEditorHUDController editorHUD,
 38            IBIWOutlinerController outlinerController,
 39            IBIWInputHandler inputHandler,
 40            IBIWInputWrapper inputWrapper,
 41            IBIWPublishController publishController,
 42            IBIWCreatorController creatorController,
 43            IBIWModeController modeController,
 44            IBIWFloorHandler floorHandler,
 45            IBIWEntityHandler entityHandler,
 46            IBIWActionController actionController,
 47            IBIWSaveController saveController,
 48            IBIWRaycastController raycastController,
 49            IBIWGizmosController gizmosController,
 50            ISceneReferences sceneReferences)
 51        {
 52            projectReferencesAsset = Resources.Load<BIWProjectReferences>(PROJECT_REFERENCES_PATH);
 53            inputsReferencesAsset = Resources.Load<BIWInputsReferences>(INPUTS_PATH);
 54
 55            this.sceneReferences = sceneReferences;
 56
 57            //Builder parts
 58            this.panelHUD = panelHUD;
 59            this.editor = editor;
 60            this.builderAPIController = builderAPIController;
 61            this.sceneManager = sceneManager;
 62            this.cameraController = cameraController;
 63            this.publisher = publisher;
 64            this.commonHUD = commonHUD;
 65
 66            editorContext = new EditorContext(editorHUD,
 67                outlinerController,
 68                inputHandler,
 69                inputWrapper,
 70                publishController,
 71                creatorController,
 72                modeController,
 73                floorHandler,
 74                entityHandler,
 75                actionController,
 76                saveController,
 77                raycastController,
 78                gizmosController,
 79                sceneReferences
 80            );
 81        }
 82
 83        public void Dispose()
 84        {
 85            editorContext.Dispose();
 86            panelHUD.Dispose();
 87            projectReferencesAsset = null;
 88            inputsReferencesAsset = null;
 89        }
 90    }
 91
 92    public class EditorContext : IEditorContext
 93    {
 94        private const string GOD_MODE_DYNAMIC_VARIABLE_PATH = "ScriptableObjects/GodModeVariables";
 95        private const string FIRST_PERSON_DYNAMIC_VARIABLE_PATH = "ScriptableObjects/FirstPersonVariables";
 96
 22097        BIWGodModeDynamicVariables IEditorContext.godModeDynamicVariablesAsset => godModeDynamicVariablesAssetReference;
 28098        BIWFirstPersonDynamicVariables IEditorContext.firstPersonDynamicVariablesAsset => firstPersonDynamicVariablesAss
 99
 100        //HUD
 1638101        public IBuilderEditorHUDController editorHUD { get; private set; }
 102
 103        // BIW Controllers
 116104        public IBIWOutlinerController outlinerController { get; private set; }
 8105        public IBIWInputHandler inputHandler { get; private set; }
 8106        public IBIWInputWrapper inputWrapper { get; private set; }
 10107        public IBIWPublishController publishController { get; private set; }
 107108        public IBIWCreatorController creatorController { get; private set; }
 135109        public IBIWModeController modeController { get; private set; }
 64110        public IBIWFloorHandler floorHandler => floorHandlerReference;
 111
 112        internal IBIWFloorHandler floorHandlerReference;
 208113        public IBIWEntityHandler entityHandler { get; private set; }
 221114        public IBIWActionController actionController { get; private set; }
 174115        public IBIWSaveController saveController { get; private set; }
 209116        public IBIWRaycastController raycastController { get; private set; }
 43117        public IBIWGizmosController gizmosController { get; private set; }
 0118        public ISceneReferences sceneReferences { get; private set; }
 119
 120        //Scriptable Objects
 121        internal BIWGodModeDynamicVariables godModeDynamicVariablesAssetReference;
 122        internal BIWFirstPersonDynamicVariables firstPersonDynamicVariablesAssetReference;
 123
 237124        public EditorContext(IBuilderEditorHUDController editorHUD,
 125            IBIWOutlinerController outlinerController,
 126            IBIWInputHandler inputHandler,
 127            IBIWInputWrapper inputWrapper,
 128            IBIWPublishController publishController,
 129            IBIWCreatorController creatorController,
 130            IBIWModeController modeController,
 131            IBIWFloorHandler floorHandler,
 132            IBIWEntityHandler entityHandler,
 133            IBIWActionController actionController,
 134            IBIWSaveController saveController,
 135            IBIWRaycastController raycastController,
 136            IBIWGizmosController gizmosController,
 137            ISceneReferences sceneReferences)
 138        {
 237139            godModeDynamicVariablesAssetReference = Resources.Load<BIWGodModeDynamicVariables>(GOD_MODE_DYNAMIC_VARIABLE
 237140            firstPersonDynamicVariablesAssetReference = Resources.Load<BIWFirstPersonDynamicVariables>(FIRST_PERSON_DYNA
 141
 237142            this.editorHUD = editorHUD;
 143
 237144            this.outlinerController = outlinerController;
 237145            this.inputHandler = inputHandler;
 237146            this.inputWrapper = inputWrapper;
 237147            this.publishController = publishController;
 237148            this.creatorController = creatorController;
 237149            this.modeController = modeController;
 237150            this.floorHandlerReference = floorHandler;
 237151            this.entityHandler = entityHandler;
 237152            this.actionController = actionController;
 237153            this.saveController = saveController;
 237154            this.raycastController = raycastController;
 237155            this.gizmosController = gizmosController;
 237156            this.sceneReferences = sceneReferences;
 237157        }
 158
 159        public void Dispose()
 160        {
 103161            editorHUD.Dispose();
 103162            outlinerController.Dispose();
 103163            inputHandler.Dispose();
 103164            inputWrapper.Dispose();
 103165            publishController.Dispose();
 103166            creatorController.Dispose();
 103167            modeController.Dispose();
 103168            floorHandler.Dispose();
 103169            entityHandler.Dispose();
 103170            actionController.Dispose();
 103171            saveController.Dispose();
 103172            raycastController.Dispose();
 103173            gizmosController.Dispose();
 174
 103175            sceneReferences.Dispose();
 176
 177
 103178            godModeDynamicVariablesAssetReference = null;
 103179            firstPersonDynamicVariablesAssetReference = null;
 103180        }
 181    }
 182}