< Summary

Class:Builder.DCLBuilderSelectionCollider
Assembly:Builder
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Builder/Scripts/DCLBuilderSelectionCollider.cs
Covered lines:13
Uncovered lines:10
Coverable lines:23
Total lines:54
Line coverage:56.5% (13 of 23)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Initialize(...)0%5.194057.89%
OnDestroy()0%2.152066.67%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Builder/Scripts/DCLBuilderSelectionCollider.cs

#LineLine coverage
 1using UnityEngine;
 2using DCL.Helpers;
 3
 4namespace Builder
 5{
 6    public class DCLBuilderSelectionCollider : MonoBehaviour
 7    {
 8        public const string LAYER_BUILDER_POINTER_CLICK = "OnBuilderPointerClick";
 9
 010        public DCLBuilderEntity ownerEntity { get; private set; }
 11
 12        private Mesh meshColliderForSkinnedMesh = null;
 13
 14        public void Initialize(DCLBuilderEntity builderEntity, Renderer renderer)
 15        {
 316            if (renderer == null)
 017                return;
 318            ownerEntity = builderEntity;
 19
 320            gameObject.layer = LayerMask.NameToLayer(LAYER_BUILDER_POINTER_CLICK);
 21
 322            Transform t = gameObject.transform;
 323            t.SetParent(renderer.transform);
 324            t.ResetLocalTRS();
 25
 326            var meshCollider = gameObject.AddComponent<MeshCollider>();
 27
 328            if (renderer is SkinnedMeshRenderer)
 29            {
 030                if (meshColliderForSkinnedMesh)
 31                {
 032                    Object.Destroy(meshColliderForSkinnedMesh);
 33                }
 034                meshColliderForSkinnedMesh = new Mesh();
 035                (renderer as SkinnedMeshRenderer).BakeMesh(meshColliderForSkinnedMesh);
 036                meshCollider.sharedMesh = meshColliderForSkinnedMesh;
 037                t.localScale = new Vector3(1 / transform.lossyScale.x, 1 / transform.lossyScale.y, 1 / transform.lossySc
 038            }
 39            else
 40            {
 341                meshCollider.sharedMesh = renderer.GetComponent<MeshFilter>().sharedMesh;
 42            }
 343            meshCollider.enabled = renderer.enabled;
 344        }
 45
 46        private void OnDestroy()
 47        {
 348            if (meshColliderForSkinnedMesh)
 49            {
 050                Object.Destroy(meshColliderForSkinnedMesh);
 51            }
 352        }
 53    }
 54}