< Summary

Class:DCL.Controllers.SceneBoundsFeedbackStyle_Simple
Assembly:MainScripts
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/WorldRuntime/SceneBoundariesController/SceneBoundsFeedbackStyle_Simple.cs
Covered lines:20
Uncovered lines:2
Coverable lines:22
Total lines:58
Line coverage:90.9% (20 of 22)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
SceneBoundsFeedbackStyle_Simple()0%110100%
ApplyFeedback(...)0%16.0816093.33%
CleanFeedback()0%2.152066.67%
GetOriginalMaterials(...)0%220100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/WorldRuntime/SceneBoundariesController/SceneBoundsFeedbackStyle_Simple.cs

#LineLine coverage
 1using DCL.Models;
 2using UnityEngine;
 3using System.Collections.Generic;
 4
 5namespace DCL.Controllers
 6{
 7    public class SceneBoundsFeedbackStyle_Simple : ISceneBoundsFeedbackStyle
 8    {
 6759        private readonly List<Renderer> disabledRenderers = new List<Renderer>();
 10
 11        public void ApplyFeedback(MeshesInfo meshesInfo, bool isInsideBoundaries)
 12        {
 10113            if (meshesInfo?.renderers == null || meshesInfo.renderers.Length == 0)
 3014                return;
 15
 7116            if (meshesInfo?.currentShape != null && !meshesInfo.currentShape.IsVisible())
 017                return;
 18
 33419            for (int i = 0; i < meshesInfo.renderers.Length; i++)
 20            {
 9621                if (meshesInfo.renderers[i] == null)
 22                    continue;
 23
 9624                if (isInsideBoundaries == meshesInfo.renderers[i].enabled)
 25                    continue;
 26
 6227                meshesInfo.renderers[i].enabled = isInsideBoundaries;
 28
 6229                if (isInsideBoundaries && disabledRenderers.Contains(meshesInfo.renderers[i]))
 2030                    disabledRenderers.Remove( meshesInfo.renderers[i]);
 4231                else if (!isInsideBoundaries && !disabledRenderers.Contains(meshesInfo.renderers[i]))
 4232                    disabledRenderers.Add( meshesInfo.renderers[i]);
 33            }
 7134        }
 35
 36        public void CleanFeedback()
 37        {
 7038            foreach (var renderer in disabledRenderers)
 39            {
 040                renderer.enabled = true;
 41            }
 42
 3543            disabledRenderers.Clear();
 3544        }
 45
 46        public List<Material> GetOriginalMaterials(MeshesInfo meshesInfo)
 47        {
 49148            List<Material> result = new List<Material>();
 49
 178650            for (int i = 0; i < meshesInfo.renderers.Length; i++)
 51            {
 40252                result.AddRange(meshesInfo.renderers[i].sharedMaterials);
 53            }
 54
 49155            return result;
 56        }
 57    }
 58}