< 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:71
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.PointerInputSystem;
 8using ECS7System = System.Action;
 9
 10public class ECSSystemsController : IDisposable
 11{
 12    private readonly IList<ECS7System> updateSystems;
 13    private readonly IList<ECS7System> lateUpdateSystems;
 14    private readonly IUpdateEventHandler updateEventHandler;
 15    private readonly ECS7System componentWriteSystem;
 16
 017    public ECSSystemsController(IUpdateEventHandler updateEventHandler, ECS7System componentWriteSystem, SystemsContext 
 18    {
 019        this.updateEventHandler = updateEventHandler;
 020        this.componentWriteSystem = componentWriteSystem;
 21
 022        updateEventHandler.AddListener(IUpdateEventHandler.EventType.Update, Update);
 023        updateEventHandler.AddListener(IUpdateEventHandler.EventType.LateUpdate, LateUpdate);
 24
 025        updateSystems = new ECS7System[]
 26        {
 27            ECSTransformParentingSystem.Update,
 28            ECSMaterialSystem.CreateSystem(context.componentGroups.texturizableGroup,
 29                context.internalEcsComponents.texturizableComponent, context.internalEcsComponents.materialComponent)
 30        };
 31
 032        lateUpdateSystems = new ECS7System[]
 33        {
 34            ECSPointerInputSystem.CreateSystem(
 35                context.componentWriter,
 36                context.componentGroups.pointerDownGroup,
 37                context.componentGroups.pointerUpGroup,
 38                context.internalEcsComponents.onPointerColliderComponent,
 39                context.pointerDownComponent,
 40                context.pointerUpComponent,
 41                DataStore.i.ecs7, DataStore.i.Get<DataStore_Cursor>()),
 42            ECSCameraEntitySystem.CreateSystem(context.componentWriter),
 43            ECSPlayerTransformSystem.CreateSystem(context.componentWriter)
 44        };
 045    }
 46
 47    public void Dispose()
 48    {
 049        updateEventHandler.RemoveListener(IUpdateEventHandler.EventType.Update, Update);
 050        updateEventHandler.RemoveListener(IUpdateEventHandler.EventType.LateUpdate, LateUpdate);
 051    }
 52
 53    private void Update()
 54    {
 055        int count = updateSystems.Count;
 056        for (int i = 0; i < count; i++)
 57        {
 058            updateSystems[i].Invoke();
 59        }
 060    }
 61
 62    private void LateUpdate()
 63    {
 064        int count = lateUpdateSystems.Count;
 065        for (int i = 0; i < count; i++)
 66        {
 067            lateUpdateSystems[i].Invoke();
 68        }
 069        componentWriteSystem.Invoke();
 070    }
 71}