< Summary

Class:DCL.Helpers.CrashPayloadPositionTracker
Assembly:CrashPayloadUtils
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/CrashPayloadUtils/CrashPayloadPositionTracker.cs
Covered lines:19
Uncovered lines:2
Coverable lines:21
Total lines:48
Line coverage:90.4% (19 of 21)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
CrashPayloadPositionTracker()0%110100%
Dispose()0%110100%
OnTeleport(...)0%2.062075%
OnPositionChange(...)0%3.043083.33%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/CrashPayloadUtils/CrashPayloadPositionTracker.cs

#LineLine coverage
 1using System;
 2using System.Collections.Generic;
 3using UnityEngine;
 4
 5namespace DCL.Helpers
 6{
 7    public class CrashPayloadPositionTracker : IDisposable
 8    {
 6639        public List<Vector3> movePositions = new List<Vector3>();
 66310        public List<Vector3> teleportPositions = new List<Vector3>();
 11
 12        private float lastPositionUpdate;
 66313        private float positionUpdateInterval = 30.0f;
 66314        private int maxQueueSize = 50;
 15
 66316        public CrashPayloadPositionTracker ()
 17        {
 66318            CommonScriptableObjects.playerWorldPosition.OnChange += OnPositionChange;
 66319            DataStore.i.player.lastTeleportPosition.OnChange += OnTeleport;
 66320        }
 21
 22        public void Dispose()
 23        {
 68324            CommonScriptableObjects.playerWorldPosition.OnChange -= OnPositionChange;
 68325            DataStore.i.player.lastTeleportPosition.OnChange -= OnTeleport;
 68326        }
 27
 28        private void OnTeleport(Vector3 current, Vector3 previous)
 29        {
 3830            teleportPositions.Add( current );
 31
 3832            if ( teleportPositions.Count > maxQueueSize )
 033                teleportPositions.RemoveAt(0);
 3834        }
 35
 36        private void OnPositionChange(Vector3 current, Vector3 previous)
 37        {
 180538            if ( lastPositionUpdate + positionUpdateInterval > Time.time )
 39            {
 4140                movePositions.Add( current );
 4141                lastPositionUpdate = Time.time;
 42
 4143                if ( movePositions.Count > maxQueueSize )
 044                    movePositions.RemoveAt(0);
 45            }
 180546        }
 47    }
 48}