< Summary

Class:DCL.ECS7.InternalComponents.InternalRenderersExtensions
Assembly:ECS7Plugin.InternalECSComponents.Interfaces
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/ECS7/InternalECSComponents/Interfaces/Extensions/InternalRenderersExtensions.cs
Covered lines:26
Uncovered lines:3
Coverable lines:29
Total lines:68
Line coverage:89.6% (26 of 29)
Covered branches:0
Total branches:0
Covered methods:3
Total methods:3
Method coverage:100% (3 of 3)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
RemoveRenderer(...)0%660100%
RemoveRenderers(...)0%8.198085.71%
AddRenderer(...)0%3.043083.33%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/ECS7/InternalECSComponents/Interfaces/Extensions/InternalRenderersExtensions.cs

#LineLine coverage
 1using DCL.Controllers;
 2using DCL.Models;
 3using System.Collections.Generic;
 4using UnityEngine;
 5
 6namespace DCL.ECS7.InternalComponents
 7{
 8    public static class InternalRenderersExtensions
 9    {
 10        public static void RemoveRenderer(this IInternalECSComponent<InternalRenderers> renderersInternalComponent,
 11            IParcelScene scene, IDCLEntity entity, Renderer renderer)
 12        {
 4313            if (renderer == null)
 314                return;
 15
 4016            var model = renderersInternalComponent.GetFor(scene, entity)?.model;
 17
 4018            if (model == null)
 419                return;
 20
 3621            model.Value.renderers.Remove(renderer);
 22
 3623            if (model.Value.renderers.Count == 0)
 24            {
 3525                renderersInternalComponent.RemoveFor(scene, entity, new InternalRenderers(new List<Renderer>()));
 3526                return;
 27            }
 28
 129            renderersInternalComponent.PutFor(scene, entity, model.Value);
 130        }
 31
 32        public static void RemoveRenderers(this IInternalECSComponent<InternalRenderers> renderersInternalComponent,
 33            IParcelScene scene, IDCLEntity entity, IReadOnlyCollection<Renderer> renderers)
 34        {
 1935            if (renderers == null)
 636                return;
 37
 1338            var model = renderersInternalComponent.GetFor(scene, entity)?.model;
 39
 1340            if (model == null)
 241                return;
 42
 4443            foreach (Renderer renderer in renderers)
 44            {
 1145                model.Value.renderers.Remove(renderer);
 46            }
 47
 1148            if (model.Value.renderers.Count == 0)
 49            {
 1150                renderersInternalComponent.RemoveFor(scene, entity, new InternalRenderers(new List<Renderer>()));
 1151                return;
 52            }
 53
 054            renderersInternalComponent.PutFor(scene, entity, model.Value);
 055        }
 56
 57        public static void AddRenderer(this IInternalECSComponent<InternalRenderers> renderersInternalComponent,
 58            IParcelScene scene, IDCLEntity entity, Renderer renderer)
 59        {
 4060            if (!renderer)
 061                return;
 62
 4063            var model = renderersInternalComponent.GetFor(scene, entity)?.model ?? new InternalRenderers(new List<Render
 4064            model.renderers.Add(renderer);
 4065            renderersInternalComponent.PutFor(scene, entity, model);
 4066        }
 67    }
 68}