< Summary

Class:DCL.ECS7.InternalComponents.InternalTexturizableExtensions
Assembly:ECS7Plugin.InternalECSComponents.Interfaces
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/ECS7/InternalECSComponents/Interfaces/Extensions/InternalTexturizableExtensions.cs
Covered lines:13
Uncovered lines:17
Coverable lines:30
Total lines:68
Line coverage:43.3% (13 of 30)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
RemoveRenderers(...)0%42600%
AddRenderers(...)0%42600%
RemoveRenderer(...)0%550100%
AddRenderer(...)0%5.125083.33%

File(s)

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

#LineLine coverage
 1using System.Collections.Generic;
 2using DCL.Controllers;
 3using DCL.Models;
 4using UnityEngine;
 5
 6namespace DCL.ECS7.InternalComponents
 7{
 8    public static class InternalTexturizableExtensions
 9    {
 10        public static void RemoveRenderers(this IInternalECSComponent<InternalTexturizable> texurizableInternalComponent
 11            IParcelScene scene, IDCLEntity entity, IList<Renderer> renderers)
 12        {
 013            if (renderers == null)
 014                return;
 15
 016            var model = texurizableInternalComponent.GetFor(scene, entity)?.model;
 17
 018            if (model == null)
 019                return;
 20
 021            for (int i = 0; i < renderers.Count; i++)
 22            {
 023                model.renderers.Remove(renderers[i]);
 24            }
 025            texurizableInternalComponent.PutFor(scene, entity, model);
 026        }
 27
 28        public static void AddRenderers(this IInternalECSComponent<InternalTexturizable> texurizableInternalComponent,
 29            IParcelScene scene, IDCLEntity entity, IList<Renderer> renderers)
 30        {
 031            if (renderers == null)
 032                return;
 33
 034            var model = texurizableInternalComponent.GetFor(scene, entity)?.model ?? new InternalTexturizable();
 035            for (int i = 0; i < renderers.Count; i++)
 36            {
 037                model.renderers.Add(renderers[i]);
 38            }
 039            texurizableInternalComponent.PutFor(scene, entity, model);
 040        }
 41
 42        public static void RemoveRenderer(this IInternalECSComponent<InternalTexturizable> texurizableInternalComponent,
 43            IParcelScene scene, IDCLEntity entity, Renderer renderer)
 44        {
 1445            if (renderer == null)
 146                return;
 47
 1348            var model = texurizableInternalComponent.GetFor(scene, entity)?.model;
 49
 1350            if (model == null)
 651                return;
 52
 753            model.renderers.Remove(renderer);
 754            texurizableInternalComponent.PutFor(scene, entity, model);
 755        }
 56
 57        public static void AddRenderer(this IInternalECSComponent<InternalTexturizable> texurizableInternalComponent,
 58            IParcelScene scene, IDCLEntity entity, Renderer renderer)
 59        {
 1360            if (renderer == null)
 061                return;
 62
 1363            var model = texurizableInternalComponent.GetFor(scene, entity)?.model ?? new InternalTexturizable();
 1364            model.renderers.Add(renderer);
 1365            texurizableInternalComponent.PutFor(scene, entity, model);
 1366        }
 67    }
 68}