< Summary

Class:VoxelEntityHit
Assembly:BuilderInWorld
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/BuilderMode/States/EditorMode/Voxels/VoxelEntityHit.cs
Covered lines:0
Uncovered lines:25
Coverable lines:25
Total lines:50
Line coverage:0% (0 of 25)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
VoxelEntityHit(...)0%2100%
CalculateHitVector(...)0%56700%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/BuilderMode/States/EditorMode/Voxels/VoxelEntityHit.cs

#LineLine coverage
 1using System.Collections;
 2using System.Collections.Generic;
 3using UnityEngine;
 4
 5public class VoxelEntityHit
 6{
 7    public DCLBuilderInWorldEntity entityHitted;
 8    public Vector3Int hitVector;
 9
 10    const float HIT_VECTOR_SENSITIVITY = 0.001f;
 11
 012    public VoxelEntityHit(DCLBuilderInWorldEntity entity, RaycastHit hit)
 13    {
 014        entityHitted = entity;
 015        CalculateHitVector(hit);
 016    }
 17
 18    void CalculateHitVector(RaycastHit hit)
 19    {
 020        Vector3 center = entityHitted.rootEntity.meshesInfo.mergedBounds.center;
 021        Vector3 min = entityHitted.rootEntity.meshesInfo.mergedBounds.min;
 022        Vector3 max = entityHitted.rootEntity.meshesInfo.mergedBounds.max;
 23
 024        if (Mathf.Abs(min.x - hit.point.x) < HIT_VECTOR_SENSITIVITY)
 25        {
 026            hitVector = Vector3Int.left;
 027        }
 028        else if (Mathf.Abs(max.x - hit.point.x) < HIT_VECTOR_SENSITIVITY)
 29        {
 030            hitVector = Vector3Int.right;
 031        }
 032        else if (Mathf.Abs(min.y - hit.point.y) < HIT_VECTOR_SENSITIVITY)
 33        {
 034            hitVector = Vector3Int.down;
 035        }
 036        else if (Mathf.Abs(max.y - hit.point.y) < HIT_VECTOR_SENSITIVITY)
 37        {
 038            hitVector = Vector3Int.up;
 039        }
 040        else if (Mathf.Abs(min.z - hit.point.z) < HIT_VECTOR_SENSITIVITY)
 41        {
 042            hitVector = new Vector3Int(0, 0, -1);
 043        }
 044        else if (Mathf.Abs(max.z - hit.point.z) < HIT_VECTOR_SENSITIVITY)
 45        {
 046            hitVector = new Vector3Int(0, 0, 1);
 47        }
 48
 049    }
 50}