< 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
 22314        public BIWProjectReferences projectReferencesAsset { get;  set; }
 29015        public BIWInputsReferences inputsReferencesAsset { get;  set; }
 16
 17        //Builder Parts
 12718        public IBuilderMainPanelController panelHUD { get; internal set; }
 8619        public IBIWEditor editor  { get; internal set; }
 8620        public IBuilderAPIController builderAPIController { get; internal set; }
 8621        public ISceneManager sceneManager  { get; internal set; }
 8622        public ICameraController cameraController  { get; internal set; }
 35123        public ISceneReferences sceneReferences { get; internal set; }
 8824        public IPublisher publisher { get; internal set; }
 8625        public ICommonHUD commonHUD { get; internal set; }
 26
 27        //Editor
 191928        public IEditorContext editorContext { get; internal set; }
 29
 8630        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        {
 8652            projectReferencesAsset = Resources.Load<BIWProjectReferences>(PROJECT_REFERENCES_PATH);
 8653            inputsReferencesAsset = Resources.Load<BIWInputsReferences>(INPUTS_PATH);
 54
 8655            this.sceneReferences = sceneReferences;
 56
 57            //Builder parts
 8658            this.panelHUD = panelHUD;
 8659            this.editor = editor;
 8660            this.builderAPIController = builderAPIController;
 8661            this.sceneManager = sceneManager;
 8662            this.cameraController = cameraController;
 8663            this.publisher = publisher;
 8664            this.commonHUD = commonHUD;
 65
 8666            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            );
 8681        }
 82
 83        public void Dispose()
 84        {
 4185            editorContext.Dispose();
 4186            panelHUD.Dispose();
 4187            projectReferencesAsset = null;
 4188            inputsReferencesAsset = null;
 4189        }
 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}