< Summary

Class:BIWSceneMetricsController
Assembly:BuilderInWorld
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/BuilderMode/BIWSceneMetricsController.cs
Covered lines:5
Uncovered lines:26
Coverable lines:31
Total lines:69
Line coverage:16.1% (5 of 31)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
BIWSceneMetricsController(...)0%110100%
OnEntityAdded(...)0%2100%
OnEntityRemoved(...)0%6200%
OnEntityMeshInfoUpdated(...)0%6200%
CheckSceneLimitExceededAnalaytics()0%12300%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/BuilderMode/BIWSceneMetricsController.cs

#LineLine coverage
 1using System.Collections;
 2using System.Collections.Generic;
 3using DCL;
 4using DCL.Controllers;
 5using DCL.Models;
 6using UnityEngine;
 7
 8public class BIWSceneMetricsController : SceneMetricsController
 9{
 110    private string currentExceededLimitTypes = "";
 11
 112    public BIWSceneMetricsController(ParcelScene sceneOwner) : base(sceneOwner)
 13    {
 114        Enable();
 115        isDirty = true;
 116    }
 17
 18    protected override void OnEntityAdded(IDCLEntity e)
 19    {
 020        e.OnMeshesInfoUpdated += OnEntityMeshInfoUpdated;
 021        e.OnMeshesInfoCleaned += OnEntityMeshInfoCleaned;
 022    }
 23
 24    protected override void OnEntityRemoved(IDCLEntity e)
 25    {
 026        e.OnMeshesInfoUpdated -= OnEntityMeshInfoUpdated;
 027        e.OnMeshesInfoCleaned -= OnEntityMeshInfoCleaned;
 28
 029        if (!e.components.ContainsKey(CLASS_ID_COMPONENT.SMART_ITEM))
 30        {
 031            SubstractMetrics(e);
 032            model.entities = entitiesMetrics.Count;
 33        }
 034        CheckSceneLimitExceededAnalaytics();
 035    }
 36
 37    protected override void OnEntityMeshInfoUpdated(IDCLEntity entity)
 38    {
 39        //builder should only check scene limits for not smart items entities
 040        if (!entity.components.ContainsKey(CLASS_ID_COMPONENT.SMART_ITEM))
 41        {
 042            AddOrReplaceMetrics(entity);
 043            model.entities = entitiesMetrics.Count;
 044        }
 45        else
 46        {
 047            SubstractMetrics(entity);
 048            model.entities = entitiesMetrics.Count;
 49        }
 050        CheckSceneLimitExceededAnalaytics();
 051    }
 52
 53    private void CheckSceneLimitExceededAnalaytics()
 54    {
 055        if (!IsInsideTheLimits())
 56        {
 057            string exceededLimits = BIWAnalytics.GetLimitsPassedArray(scene.metricsController.GetModel(), scene.metricsC
 058            if (exceededLimits != currentExceededLimitTypes)
 59            {
 060                BIWAnalytics.SceneLimitsExceeded(scene.metricsController.GetModel(), scene.metricsController.GetLimits()
 061                currentExceededLimitTypes = exceededLimits;
 62            }
 063        }
 64        else
 65        {
 066            currentExceededLimitTypes = "";
 67        }
 068    }
 69}