< Summary

Class:DCL.ECS7.ECS7Plugin
Assembly:ECS7Plugin
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/ECS7/ECS7Plugin.cs
Covered lines:0
Uncovered lines:23
Coverable lines:23
Total lines:60
Line coverage:0% (0 of 23)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
ECS7Plugin()0%2100%
Dispose()0%2100%
OnSceneAdded(...)0%2100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/ECS7/ECS7Plugin.cs

#LineLine coverage
 1using DCL.Controllers;
 2using DCL.CRDT;
 3using DCL.ECSComponents;
 4using DCL.ECSRuntime;
 5
 6namespace DCL.ECS7
 7{
 8    public class ECS7Plugin : IPlugin
 9    {
 10        private readonly ComponentCrdtWriteSystem crdtWriteSystem;
 11        private readonly IECSComponentWriter componentWriter;
 12        private readonly ECS7ComponentsComposer componentsComposer;
 13        private readonly ECSSystemsController systemsController;
 14        private readonly ECSComponentsFactory componentsFactory;
 15        private readonly ECSComponentsManager componentsManager;
 16        private readonly InternalECSComponents internalEcsComponents;
 17        private readonly CanvasPainter canvasPainter;
 18
 19        private readonly ISceneController sceneController;
 20
 021        public ECS7Plugin()
 22        {
 023            sceneController = Environment.i.world.sceneController;
 24
 025            componentsFactory = new ECSComponentsFactory();
 026            componentsManager = new ECSComponentsManager(componentsFactory.componentBuilders);
 027            internalEcsComponents = new InternalECSComponents(componentsManager, componentsFactory);
 28
 029            crdtWriteSystem = new ComponentCrdtWriteSystem(Environment.i.world.state, sceneController, DataStore.i.rpcCo
 030            componentWriter = new ECSComponentWriter(crdtWriteSystem.WriteMessage);
 31
 032            componentsComposer = new ECS7ComponentsComposer(componentsFactory, componentWriter, internalEcsComponents);
 33
 034            SystemsContext systemsContext = new SystemsContext(componentWriter, internalEcsComponents, new ComponentGrou
 035            systemsController = new ECSSystemsController(Environment.i.platform.updateEventHandler, crdtWriteSystem.Late
 36
 037            canvasPainter = new CanvasPainter(DataStore.i.ecs7, CommonScriptableObjects.rendererState, Environment.i.pla
 38
 039            sceneController.OnNewSceneAdded += OnSceneAdded;
 040        }
 41
 42        public void Dispose()
 43        {
 044            componentsComposer.Dispose();
 045            crdtWriteSystem.Dispose();
 046            componentWriter.Dispose();
 047            systemsController.Dispose();
 048            internalEcsComponents.Dispose();
 49
 050            canvasPainter.Dispose();
 51
 052            sceneController.OnNewSceneAdded -= OnSceneAdded;
 053        }
 54
 55        private void OnSceneAdded(IParcelScene scene)
 56        {
 057            scene.crdtExecutor = new CRDTExecutor(scene, componentsManager);
 058        }
 59    }
 60}