< Summary

Class:DCL.Builder.EditorContext
Assembly:BIWContext
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/BuilderInWorld/Scripts/Context/Context.cs
Covered lines:51
Uncovered lines:0
Coverable lines:51
Total lines:182
Line coverage:100% (51 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
 19297        BIWGodModeDynamicVariables IEditorContext.godModeDynamicVariablesAsset => godModeDynamicVariablesAssetReference;
 25698        BIWFirstPersonDynamicVariables IEditorContext.firstPersonDynamicVariablesAsset => firstPersonDynamicVariablesAss
 99
 100        //HUD
 944101        public IBuilderEditorHUDController editorHUD { get; private set; }
 102
 103        // BIW Controllers
 161104        public IBIWOutlinerController outlinerController { get; private set; }
 127105        public IBIWInputHandler inputHandler { get; private set; }
 127106        public IBIWInputWrapper inputWrapper { get; private set; }
 127107        public IBIWPublishController publishController { get; private set; }
 127108        public IBIWCreatorController creatorController { get; private set; }
 159109        public IBIWModeController modeController { get; private set; }
 41110        public IBIWFloorHandler floorHandler => floorHandlerReference;
 111
 112        internal IBIWFloorHandler floorHandlerReference;
 272113        public IBIWEntityHandler entityHandler { get; private set; }
 232114        public IBIWActionController actionController { get; private set; }
 200115        public IBIWSaveController saveController { get; private set; }
 233116        public IBIWRaycastController raycastController { get; private set; }
 159117        public IBIWGizmosController gizmosController { get; private set; }
 127118        public ISceneReferences sceneReferences { get; private set; }
 119
 120        //Scriptable Objects
 121        internal BIWGodModeDynamicVariables godModeDynamicVariablesAssetReference;
 122        internal BIWFirstPersonDynamicVariables firstPersonDynamicVariablesAssetReference;
 123
 86124        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        {
 86139            godModeDynamicVariablesAssetReference = Resources.Load<BIWGodModeDynamicVariables>(GOD_MODE_DYNAMIC_VARIABLE
 86140            firstPersonDynamicVariablesAssetReference = Resources.Load<BIWFirstPersonDynamicVariables>(FIRST_PERSON_DYNA
 141
 86142            this.editorHUD = editorHUD;
 143
 86144            this.outlinerController = outlinerController;
 86145            this.inputHandler = inputHandler;
 86146            this.inputWrapper = inputWrapper;
 86147            this.publishController = publishController;
 86148            this.creatorController = creatorController;
 86149            this.modeController = modeController;
 86150            this.floorHandlerReference = floorHandler;
 86151            this.entityHandler = entityHandler;
 86152            this.actionController = actionController;
 86153            this.saveController = saveController;
 86154            this.raycastController = raycastController;
 86155            this.gizmosController = gizmosController;
 86156            this.sceneReferences = sceneReferences;
 86157        }
 158
 159        public void Dispose()
 160        {
 41161            editorHUD.Dispose();
 41162            outlinerController.Dispose();
 41163            inputHandler.Dispose();
 41164            inputWrapper.Dispose();
 41165            publishController.Dispose();
 41166            creatorController.Dispose();
 41167            modeController.Dispose();
 41168            floorHandler.Dispose();
 41169            entityHandler.Dispose();
 41170            actionController.Dispose();
 41171            saveController.Dispose();
 41172            raycastController.Dispose();
 41173            gizmosController.Dispose();
 174
 41175            sceneReferences.Dispose();
 176
 177
 41178            godModeDynamicVariablesAssetReference = null;
 41179            firstPersonDynamicVariablesAssetReference = null;
 41180        }
 181    }
 182}