< Summary

Class:DCL.Builder.Context
Assembly:BIWContext
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/BuilderInWorld/Scripts/Context/Context.cs
Covered lines:29
Uncovered lines:0
Coverable lines:29
Total lines:182
Line coverage:100% (29 of 29)
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; }
 1019        public IBIWEditor editor  { get; internal set; }
 6420        public IBuilderAPIController builderAPIController { get; internal set; }
 721        public ISceneManager sceneManager  { get; internal set; }
 1422        public ICameraController cameraController  { get; internal set; }
 49723        public ISceneReferences sceneReferences { get; internal set; }
 4924        public IPublisher publisher { get; internal set; }
 725        public ICommonHUD commonHUD { get; internal set; }
 26
 27        //Editor
 344328        public IEditorContext editorContext { get; internal set; }
 29
 23730        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        {
 23752            projectReferencesAsset = Resources.Load<BIWProjectReferences>(PROJECT_REFERENCES_PATH);
 23753            inputsReferencesAsset = Resources.Load<BIWInputsReferences>(INPUTS_PATH);
 54
 23755            this.sceneReferences = sceneReferences;
 56
 57            //Builder parts
 23758            this.panelHUD = panelHUD;
 23759            this.editor = editor;
 23760            this.builderAPIController = builderAPIController;
 23761            this.sceneManager = sceneManager;
 23762            this.cameraController = cameraController;
 23763            this.publisher = publisher;
 23764            this.commonHUD = commonHUD;
 65
 23766            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            );
 23781        }
 82
 83        public void Dispose()
 84        {
 10385            editorContext.Dispose();
 10386            panelHUD.Dispose();
 10387            projectReferencesAsset = null;
 10388            inputsReferencesAsset = null;
 10389        }
 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
 97        BIWGodModeDynamicVariables IEditorContext.godModeDynamicVariablesAsset => godModeDynamicVariablesAssetReference;
 98        BIWFirstPersonDynamicVariables IEditorContext.firstPersonDynamicVariablesAsset => firstPersonDynamicVariablesAss
 99
 100        //HUD
 101        public IBuilderEditorHUDController editorHUD { get; private set; }
 102
 103        // BIW Controllers
 104        public IBIWOutlinerController outlinerController { get; private set; }
 105        public IBIWInputHandler inputHandler { get; private set; }
 106        public IBIWInputWrapper inputWrapper { get; private set; }
 107        public IBIWPublishController publishController { get; private set; }
 108        public IBIWCreatorController creatorController { get; private set; }
 109        public IBIWModeController modeController { get; private set; }
 110        public IBIWFloorHandler floorHandler => floorHandlerReference;
 111
 112        internal IBIWFloorHandler floorHandlerReference;
 113        public IBIWEntityHandler entityHandler { get; private set; }
 114        public IBIWActionController actionController { get; private set; }
 115        public IBIWSaveController saveController { get; private set; }
 116        public IBIWRaycastController raycastController { get; private set; }
 117        public IBIWGizmosController gizmosController { get; private set; }
 118        public ISceneReferences sceneReferences { get; private set; }
 119
 120        //Scriptable Objects
 121        internal BIWGodModeDynamicVariables godModeDynamicVariablesAssetReference;
 122        internal BIWFirstPersonDynamicVariables firstPersonDynamicVariablesAssetReference;
 123
 124        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        {
 139            godModeDynamicVariablesAssetReference = Resources.Load<BIWGodModeDynamicVariables>(GOD_MODE_DYNAMIC_VARIABLE
 140            firstPersonDynamicVariablesAssetReference = Resources.Load<BIWFirstPersonDynamicVariables>(FIRST_PERSON_DYNA
 141
 142            this.editorHUD = editorHUD;
 143
 144            this.outlinerController = outlinerController;
 145            this.inputHandler = inputHandler;
 146            this.inputWrapper = inputWrapper;
 147            this.publishController = publishController;
 148            this.creatorController = creatorController;
 149            this.modeController = modeController;
 150            this.floorHandlerReference = floorHandler;
 151            this.entityHandler = entityHandler;
 152            this.actionController = actionController;
 153            this.saveController = saveController;
 154            this.raycastController = raycastController;
 155            this.gizmosController = gizmosController;
 156            this.sceneReferences = sceneReferences;
 157        }
 158
 159        public void Dispose()
 160        {
 161            editorHUD.Dispose();
 162            outlinerController.Dispose();
 163            inputHandler.Dispose();
 164            inputWrapper.Dispose();
 165            publishController.Dispose();
 166            creatorController.Dispose();
 167            modeController.Dispose();
 168            floorHandler.Dispose();
 169            entityHandler.Dispose();
 170            actionController.Dispose();
 171            saveController.Dispose();
 172            raycastController.Dispose();
 173            gizmosController.Dispose();
 174
 175            sceneReferences.Dispose();
 176
 177
 178            godModeDynamicVariablesAssetReference = null;
 179            firstPersonDynamicVariablesAssetReference = null;
 180        }
 181    }
 182}