< 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:60
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 DCL.ECSRuntime;
 5using ECSSystems.CameraSystem;
 6using ECSSystems.PlayerSystem;
 7using ECS7System = System.Action;
 8
 9public class ECSSystemsController : IDisposable
 10{
 11    private readonly IList<ECS7System> updateSystems;
 12    private readonly IList<ECS7System> lateUpdateSystems;
 13    private readonly IUpdateEventHandler updateEventHandler;
 14    private readonly ECS7System componentWriteSystem;
 15
 016    public ECSSystemsController(IUpdateEventHandler updateEventHandler, IECSComponentWriter componentWriter, ECS7System 
 17    {
 018        this.updateEventHandler = updateEventHandler;
 019        this.componentWriteSystem = componentWriteSystem;
 20
 021        updateEventHandler.AddListener(IUpdateEventHandler.EventType.Update, Update);
 022        updateEventHandler.AddListener(IUpdateEventHandler.EventType.LateUpdate, LateUpdate);
 23
 024        updateSystems = new ECS7System[]
 25        {
 26            ECSTransformParentingSystem.Update
 27        };
 28
 029        lateUpdateSystems = new ECS7System[]
 30        {
 31            ECSCameraTransformSystem.CreateSystem(componentWriter),
 32            ECSPlayerTransformSystem.CreateSystem(componentWriter)
 33        };
 034    }
 35
 36    public void Dispose()
 37    {
 038        updateEventHandler.RemoveListener(IUpdateEventHandler.EventType.Update, Update);
 039        updateEventHandler.RemoveListener(IUpdateEventHandler.EventType.LateUpdate, LateUpdate);
 040    }
 41
 42    private void Update()
 43    {
 044        int count = updateSystems.Count;
 045        for (int i = 0; i < count; i++)
 46        {
 047            updateSystems[i].Invoke();
 48        }
 049    }
 50
 51    private void LateUpdate()
 52    {
 053        int count = lateUpdateSystems.Count;
 054        for (int i = 0; i < count; i++)
 55        {
 056            lateUpdateSystems[i].Invoke();
 57        }
 058        componentWriteSystem.Invoke();
 059    }
 60}