< Summary

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

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
ECSSystemsController(...)0%2100%
Dispose()0%2100%
Update()0%6200%
LateUpdate()0%6200%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/ECS7/Systems/ECSSystemsController.cs

#LineLine coverage
 1using System;
 2using System.Collections.Generic;
 3using DCL;
 4using ECSSystems.CameraSystem;
 5using ECSSystems.MaterialSystem;
 6using ECSSystems.PlayerSystem;
 7using ECSSystems.VisibilitySystem;
 8using ECSSystems.PointerInputSystem;
 9using ECS7System = System.Action;
 10
 11public class ECSSystemsController : IDisposable
 12{
 13    private readonly IList<ECS7System> updateSystems;
 14    private readonly IList<ECS7System> lateUpdateSystems;
 15    private readonly IUpdateEventHandler updateEventHandler;
 16    private readonly ECS7System componentWriteSystem;
 17
 018    public ECSSystemsController(IUpdateEventHandler updateEventHandler, ECS7System componentWriteSystem, SystemsContext 
 19    {
 020        this.updateEventHandler = updateEventHandler;
 021        this.componentWriteSystem = componentWriteSystem;
 22
 023        updateEventHandler.AddListener(IUpdateEventHandler.EventType.Update, Update);
 024        updateEventHandler.AddListener(IUpdateEventHandler.EventType.LateUpdate, LateUpdate);
 25
 026        updateSystems = new ECS7System[]
 27        {
 28            ECSTransformParentingSystem.Update,
 29            ECSMaterialSystem.CreateSystem(context.componentGroups.texturizableGroup,
 30                context.internalEcsComponents.texturizableComponent, context.internalEcsComponents.materialComponent),
 31            ECSVisibilitySystem.CreateSystem(context.componentGroups.visibilityGroup,
 32                context.internalEcsComponents.renderersComponent, context.internalEcsComponents.visibilityComponent)
 33        };
 34
 035        lateUpdateSystems = new ECS7System[]
 36        {
 37            ECSPointerInputSystem.CreateSystem(
 38                context.componentWriter,
 39                context.componentGroups.pointerDownGroup,
 40                context.componentGroups.pointerUpGroup,
 41                context.internalEcsComponents.onPointerColliderComponent,
 42                context.pointerDownComponent,
 43                context.pointerUpComponent,
 44                DataStore.i.ecs7, DataStore.i.Get<DataStore_Cursor>()),
 45            ECSCameraEntitySystem.CreateSystem(context.componentWriter),
 46            ECSPlayerTransformSystem.CreateSystem(context.componentWriter)
 47        };
 048    }
 49
 50    public void Dispose()
 51    {
 052        updateEventHandler.RemoveListener(IUpdateEventHandler.EventType.Update, Update);
 053        updateEventHandler.RemoveListener(IUpdateEventHandler.EventType.LateUpdate, LateUpdate);
 054    }
 55
 56    private void Update()
 57    {
 058        int count = updateSystems.Count;
 059        for (int i = 0; i < count; i++)
 60        {
 061            updateSystems[i].Invoke();
 62        }
 063    }
 64
 65    private void LateUpdate()
 66    {
 067        int count = lateUpdateSystems.Count;
 068        for (int i = 0; i < count; i++)
 69        {
 070            lateUpdateSystems[i].Invoke();
 71        }
 072        componentWriteSystem.Invoke();
 073    }
 74}