< Summary

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

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
ECS7Plugin()0%110100%
Dispose()0%110100%

File(s)

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

#LineLine coverage
 1using System.Collections.Generic;
 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 CrdtExecutorsManager crdtExecutorsManager;
 18
 119        public ECS7Plugin()
 20        {
 121            DataStore.i.ecs7.isEcs7Enabled = true;
 22
 123            ISceneController sceneController = Environment.i.world.sceneController;
 124            Dictionary<string, ICRDTExecutor> crdtExecutors = new Dictionary<string, ICRDTExecutor>(10);
 25
 126            componentsFactory = new ECSComponentsFactory();
 127            componentsManager = new ECSComponentsManager(componentsFactory.componentBuilders);
 128            internalEcsComponents = new InternalECSComponents(componentsManager, componentsFactory);
 129            crdtExecutorsManager = new CrdtExecutorsManager(crdtExecutors, componentsManager, sceneController,
 30                Environment.i.world.state, DataStore.i.rpcContext.context.crdtContext);
 31
 132            crdtWriteSystem = new ComponentCrdtWriteSystem(Environment.i.world.state, sceneController, DataStore.i.rpcCo
 133            componentWriter = new ECSComponentWriter(crdtWriteSystem.WriteMessage);
 34
 135            componentsComposer = new ECS7ComponentsComposer(componentsFactory, componentWriter, internalEcsComponents);
 36
 137            SystemsContext systemsContext = new SystemsContext(componentWriter,
 38                internalEcsComponents,
 39                new ComponentGroups(componentsManager),
 40                (ECSComponent<PBPointerHoverFeedback>)componentsManager.GetOrCreateComponent(ComponentID.POINTER_HOVER_F
 41
 142            systemsController = new ECSSystemsController(crdtWriteSystem.LateUpdate, systemsContext);
 143        }
 44
 45        public void Dispose()
 46        {
 147            componentsComposer.Dispose();
 148            crdtWriteSystem.Dispose();
 149            componentWriter.Dispose();
 150            systemsController.Dispose();
 151            internalEcsComponents.Dispose();
 152            crdtExecutorsManager.Dispose();
 153        }
 54    }
 55}

Methods/Properties

ECS7Plugin()
Dispose()