< Summary

Class:DCLServices.MapRendererV2.MapLayers.PlayerMarker.PlayerMarkerCircleAnimation
Assembly:MapRendererV2
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLServices/MapRendererV2/MapLayers/PlayerMarker/PlayerMarkerCircleAnimation.cs
Covered lines:5
Uncovered lines:12
Coverable lines:17
Total lines:52
Line coverage:29.4% (5 of 17)
Covered branches:0
Total branches:0
Covered methods:3
Total methods:5
Method coverage:60% (3 of 5)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
PlayerMarkerCircleAnimation()0%110100%
Start()0%6200%
OnEnable()0%2.52050%
OnDisable()0%4.943040%
StartPingPongAnimation()0%2100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLServices/MapRendererV2/MapLayers/PlayerMarker/PlayerMarkerCircleAnimation.cs

#LineLine coverage
 1using DG.Tweening;
 2using UnityEngine;
 3
 4namespace DCLServices.MapRendererV2.MapLayers.PlayerMarker
 5{
 6    public class PlayerMarkerCircleAnimation : MonoBehaviour
 7    {
 8        [Space]
 9        [SerializeField] private Transform circle;
 10
 9711        [SerializeField] private float endScaleFactor = 0.85f;
 9712        [SerializeField] private float animationDuration = 0.5f;
 9713        [SerializeField] private Ease easyType = Ease.InOutQuart;
 14
 15        private Vector3 startScale;
 16        private Vector3 endScale;
 17
 18        private Tween tween;
 19
 20        private void Start()
 21        {
 022            startScale = circle.localScale;
 023            endScale = startScale * endScaleFactor;
 24
 025            if (tween == null)
 026                StartPingPongAnimation();
 027        }
 28
 29        private void OnEnable()
 30        {
 19231            if (startScale == Vector3.zero) return;
 32
 033            StartPingPongAnimation();
 034        }
 35
 36        private void OnDisable()
 37        {
 19238            if (tween == null || !tween.IsActive()) return;
 39
 040            tween.Kill();
 041            circle.localScale = startScale;
 042        }
 43
 44        [ContextMenu(nameof(StartPingPongAnimation))]
 45        private void StartPingPongAnimation()
 46        {
 047            tween = circle.DOScale(endScale, animationDuration)
 48                          .SetLoops(-1, LoopType.Yoyo) // -1 for infinite loops
 49                          .SetEase(easyType);
 050        }
 51    }
 52}