< Summary

Class:DCL.Camera.CameraDampOnGroundType
Assembly:Camera
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/Camera/CameraDampOnGroundType.cs
Covered lines:6
Uncovered lines:7
Coverable lines:13
Total lines:45
Line coverage:46.1% (6 of 13)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Settings()0%2100%
CameraDampOnGroundType(...)0%110100%
Update(...)0%21.196025%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/Camera/CameraDampOnGroundType.cs

#LineLine coverage
 1using Cinemachine;
 2using UnityEngine;
 3
 4namespace DCL.Camera
 5{
 6    public class CameraDampOnGroundType
 7    {
 8        [System.Serializable]
 9        public class Settings
 10        {
 011            public bool enabled = true;
 12            public float dampingOnAir;
 13            public float dampingOnGround;
 14            public float dampingOnMovingPlatform;
 15
 16            [Tooltip("Min raycast ground distance to be considered airborne")]
 17            public float groundCheckThreshold;
 18        }
 19
 20        private FollowWithDamping followWithDamping;
 21        public Settings settings;
 22
 12523        public CameraDampOnGroundType (Settings settings, FollowWithDamping followWithDamping)
 24        {
 12525            this.settings = settings;
 12526            this.followWithDamping = followWithDamping;
 12527        }
 28
 29        public void Update(bool hitGround, RaycastHit hitInfo)
 30        {
 731            if ( !settings.enabled )
 732                return;
 33
 034            bool isOnMovingPlatform = DCLCharacterController.i.isOnMovingPlatform;
 35
 036            if ( hitGround )
 37            {
 038                if ( hitInfo.distance < settings.groundCheckThreshold )
 039                    followWithDamping.damping.y = isOnMovingPlatform ? settings.dampingOnMovingPlatform : settings.dampi
 40                else
 041                    followWithDamping.damping.y = settings.dampingOnAir;
 42            }
 043        }
 44    }
 45}