< Summary

Class:DCL.Controllers.ParcelSceneDebug.SceneDebugPlane
Assembly:MainScripts
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/WorldRuntime/SceneDebugPlane.cs
Covered lines:21
Uncovered lines:8
Coverable lines:29
Total lines:73
Line coverage:72.4% (21 of 29)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
SceneDebugPlane(...)0%3.23072%
Dispose()0%3.023087.5%

File(s)

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

#LineLine coverage
 1using System;
 2using DCL.Configuration;
 3using DCL.Helpers;
 4using DCL.Models;
 5using UnityEngine;
 6
 7namespace DCL.Controllers.ParcelSceneDebug
 8{
 9    public class SceneDebugPlane : IDisposable
 10    {
 11        GameObject[] sceneParcelPlanes;
 12
 70413        public SceneDebugPlane(LoadParcelScenesMessage.UnityParcelScene sceneData, Transform parent)
 14        {
 70415            int sceneDataParcelsLength = sceneData.parcels.Length;
 70416            sceneParcelPlanes = new GameObject[sceneDataParcelsLength];
 17
 283218            for (int j = 0; j < sceneDataParcelsLength; j++)
 19            {
 71220                GameObject plane = GameObject.CreatePrimitive(PrimitiveType.Plane);
 71221                sceneParcelPlanes[j] = plane;
 22
 71223                UnityEngine.Object.Destroy(plane.GetComponent<MeshCollider>());
 24
 71225                plane.name = $"parcel:{sceneData.parcels[j].x},{sceneData.parcels[j].y}";
 26
 71227                plane.transform.SetParent(parent);
 28
 29                // the plane mesh with scale 1 occupies a 10 units space
 71230                plane.transform.localScale = new Vector3(ParcelSettings.PARCEL_SIZE * 0.1f, 1f,
 31                    ParcelSettings.PARCEL_SIZE * 0.1f);
 32
 71233                Vector3 position = Utils.GridToWorldPosition(sceneData.parcels[j].x, sceneData.parcels[j].y);
 34                // SET TO A POSITION RELATIVE TO basePosition
 35
 71236                position.Set(position.x + ParcelSettings.PARCEL_SIZE / 2, ParcelSettings.DEBUG_FLOOR_HEIGHT,
 37                    position.z + ParcelSettings.PARCEL_SIZE / 2);
 38
 71239                plane.transform.position = PositionUtils.WorldToUnityPosition(position);
 40
 71241                if (DCL.Configuration.ParcelSettings.VISUAL_LOADING_ENABLED)
 42                {
 043                    Material finalMaterial = Utils.EnsureResourcesMaterial("Materials/DefaultPlane");
 044                    var matTransition = plane.AddComponent<MaterialTransitionController>();
 045                    matTransition.delay = 0;
 046                    matTransition.useHologram = false;
 047                    matTransition.fadeThickness = 20;
 048                    matTransition.OnDidFinishLoading(finalMaterial);
 049                }
 50                else
 51                {
 71252                    plane.GetComponent<MeshRenderer>().sharedMaterial =
 53                        Utils.EnsureResourcesMaterial("Materials/DefaultPlane");
 54                }
 55            }
 70456        }
 57
 58        public void Dispose()
 59        {
 70460            if (sceneParcelPlanes == null)
 61            {
 062                return;
 63            }
 64
 283265            for (int i = 0; i < sceneParcelPlanes.Length; i++)
 66            {
 71267                UnityEngine.Object.Destroy(sceneParcelPlanes[i]);
 68            }
 69
 70470            sceneParcelPlanes = null;
 70471        }
 72    }
 73}