< 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:62
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 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, ECS7System componentWriteSystem, SystemsContext 
 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            ECSMaterialSystem.CreateSystem(context.componentGroups.texturizableGroup,
 28                context.internalEcsComponents.texturizableComponent, context.internalEcsComponents.materialComponent)
 29        };
 30
 031        lateUpdateSystems = new ECS7System[]
 32        {
 33            ECSCameraEntitySystem.CreateSystem(context.componentWriter),
 34            ECSPlayerTransformSystem.CreateSystem(context.componentWriter)
 35        };
 036    }
 37
 38    public void Dispose()
 39    {
 040        updateEventHandler.RemoveListener(IUpdateEventHandler.EventType.Update, Update);
 041        updateEventHandler.RemoveListener(IUpdateEventHandler.EventType.LateUpdate, LateUpdate);
 042    }
 43
 44    private void Update()
 45    {
 046        int count = updateSystems.Count;
 047        for (int i = 0; i < count; i++)
 48        {
 049            updateSystems[i].Invoke();
 50        }
 051    }
 52
 53    private void LateUpdate()
 54    {
 055        int count = lateUpdateSystems.Count;
 056        for (int i = 0; i < count; i++)
 57        {
 058            lateUpdateSystems[i].Invoke();
 59        }
 060        componentWriteSystem.Invoke();
 061    }
 62}