< 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:180
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
 24        public ISceneReferences sceneReferences { get; internal set; }
 25
 26        //Editor
 27        public IEditorContext editorContext { get; internal set; }
 28
 29        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
 50            projectReferencesAsset = Resources.Load<BIWProjectReferences>(PROJECT_REFERENCES_PATH);
 51            inputsReferencesAsset = Resources.Load<BIWInputsReferences>(INPUTS_PATH);
 52
 53            this.sceneReferences = sceneReferences;
 54
 55            //Builder parts
 56            this.panelHUD = panelHUD;
 57            this.editor = editor;
 58            this.builderAPIController = builderAPIController;
 59            this.sceneManager = sceneManager;
 60            this.cameraController = cameraController;
 61
 62            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
 78        }
 79
 80        public void Dispose()
 81        {
 82            editorContext.Dispose();
 83            panelHUD.Dispose();
 84            projectReferencesAsset = null;
 85            inputsReferencesAsset = null;
 86        }
 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
 21695        BIWGodModeDynamicVariables IEditorContext.godModeDynamicVariablesAsset => godModeDynamicVariablesAssetReference;
 28096        BIWFirstPersonDynamicVariables IEditorContext.firstPersonDynamicVariablesAsset => firstPersonDynamicVariablesAss
 97
 98        //HUD
 166099        public IBuilderEditorHUDController editorHUD { get; private set; }
 100
 101        // BIW Controllers
 116102        public IBIWOutlinerController outlinerController { get; private set; }
 8103        public IBIWInputHandler inputHandler { get; private set; }
 8104        public IBIWInputWrapper inputWrapper { get; private set; }
 8105        public IBIWPublishController publishController { get; private set; }
 107106        public IBIWCreatorController creatorController { get; private set; }
 135107        public IBIWModeController modeController { get; private set; }
 48108        public IBIWFloorHandler floorHandler => floorHandlerReference;
 109
 110        internal IBIWFloorHandler floorHandlerReference;
 210111        public IBIWEntityHandler entityHandler { get; private set; }
 217112        public IBIWActionController actionController { get; private set; }
 96113        public IBIWSaveController saveController { get; private set; }
 209114        public IBIWRaycastController raycastController { get; private set; }
 43115        public IBIWGizmosController gizmosController { get; private set; }
 0116        public ISceneReferences sceneReferences { get; private set; }
 117
 118        //Scriptable Objects
 119        internal BIWGodModeDynamicVariables godModeDynamicVariablesAssetReference;
 120        internal BIWFirstPersonDynamicVariables firstPersonDynamicVariablesAssetReference;
 121
 221122        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        {
 221137            godModeDynamicVariablesAssetReference = Resources.Load<BIWGodModeDynamicVariables>(GOD_MODE_DYNAMIC_VARIABLE
 221138            firstPersonDynamicVariablesAssetReference = Resources.Load<BIWFirstPersonDynamicVariables>(FIRST_PERSON_DYNA
 139
 221140            this.editorHUD = editorHUD;
 141
 221142            this.outlinerController = outlinerController;
 221143            this.inputHandler = inputHandler;
 221144            this.inputWrapper = inputWrapper;
 221145            this.publishController = publishController;
 221146            this.creatorController = creatorController;
 221147            this.modeController = modeController;
 221148            this.floorHandlerReference = floorHandler;
 221149            this.entityHandler = entityHandler;
 221150            this.actionController = actionController;
 221151            this.saveController = saveController;
 221152            this.raycastController = raycastController;
 221153            this.gizmosController = gizmosController;
 221154            this.sceneReferences = sceneReferences;
 221155        }
 156
 157        public void Dispose()
 158        {
 103159            editorHUD.Dispose();
 160
 103161            outlinerController.Dispose();
 103162            inputHandler.Dispose();
 103163            inputWrapper.Dispose();
 103164            publishController.Dispose();
 103165            creatorController.Dispose();
 103166            modeController.Dispose();
 103167            floorHandler.Dispose();
 103168            entityHandler.Dispose();
 103169            actionController.Dispose();
 103170            saveController.Dispose();
 103171            raycastController.Dispose();
 103172            gizmosController.Dispose();
 173
 103174            sceneReferences.Dispose();
 175
 103176            godModeDynamicVariablesAssetReference = null;
 103177            firstPersonDynamicVariablesAssetReference = null;
 103178        }
 179    }
 180}