< Summary

Class:Builder.Gizmos.DCLBuilderTranslateGizmo
Assembly:Builder
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Builder/Scripts/Gizmos/DCLBuilderTranslateGizmo.cs
Covered lines:1
Uncovered lines:10
Coverable lines:11
Total lines:35
Line coverage:9% (1 of 11)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
SetSnapFactor(...)0%110100%
TransformEntity(...)0%6200%
GetPositionRoundedToSnapFactor(...)0%1101000%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Builder/Scripts/Gizmos/DCLBuilderTranslateGizmo.cs

#LineLine coverage
 1using UnityEngine;
 2
 3namespace Builder.Gizmos
 4{
 5    public class DCLBuilderTranslateGizmo : DCLBuilderGizmo
 6    {
 147        public override void SetSnapFactor(DCLBuilderGizmoManager.SnapInfo snapInfo) { snapFactor = snapInfo.position; }
 8
 9        public override float TransformEntity(Transform entityTransform, DCLBuilderGizmoAxis axis, float axisValue)
 10        {
 011            Vector3 initialEntityPosition = entityTransform.position;
 012            if (snapFactor > 0)
 013                initialEntityPosition = GetPositionRoundedToSnapFactor(entityTransform.position, axisValue);
 14
 015            Vector3 move = activeAxis.transform.forward * axisValue;
 016            Vector3 position = initialEntityPosition + move;
 17
 018            entityTransform.position = position;
 19
 020            return axisValue;
 21        }
 22
 23        private Vector3 GetPositionRoundedToSnapFactor(Vector3 position, float axisValue)
 24        {
 025            Vector3 activeAxisVector = GetActiveAxisVector();
 26
 027            position = new Vector3(
 28                activeAxisVector == Vector3.right ? (axisValue >= 0 ? Mathf.Floor(position.x / snapFactor) : Mathf.Ceil(
 29                activeAxisVector == Vector3.up ? (axisValue >= 0 ? Mathf.Floor(position.y / snapFactor) : Mathf.Ceil(pos
 30                activeAxisVector == Vector3.back ? (axisValue >= 0 ? Mathf.Floor(position.z / snapFactor) : Mathf.Ceil(p
 31
 032            return position;
 33        }
 34    }
 35}