< Summary

Class:OtherPlayerGetAnchorPointsHandler
Assembly:DCL.ECSComponents.AvatarAttach
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/ECS7/ECSComponents/AvatarAttach/AnchorPointsGetterHandlers/OtherPlayerGetAnchorPointsHandler.cs
Covered lines:24
Uncovered lines:2
Coverable lines:26
Total lines:61
Line coverage:92.3% (24 of 26)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
OtherPlayerGetAnchorPointsHandler()0%110100%
GetAnchorPoints(...)0%330100%
CleanUp()0%110100%
Dispose()0%110100%
OnOtherPlayersAdded(...)0%3.073080%
OnOtherPlayersRemoved(...)0%3.143075%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/ECS7/ECSComponents/AvatarAttach/AnchorPointsGetterHandlers/OtherPlayerGetAnchorPointsHandler.cs

#LineLine coverage
 1using System;
 2using DCL;
 3
 4internal class OtherPlayerGetAnchorPointsHandler : IAnchorPointsGetterHandler
 5{
 6    public event Action<string> OnAvatarRemoved;
 7    public event Action<string, IAvatarAnchorPoints> OnAvatarFound;
 8
 969    private IBaseDictionary<string, Player> otherPlayers => DataStore.i.player.otherPlayers;
 10    private string avatarId;
 11
 2712    public OtherPlayerGetAnchorPointsHandler()
 13    {
 2714        otherPlayers.OnRemoved += OnOtherPlayersRemoved;
 2715    }
 16
 17    public void GetAnchorPoints(string id)
 18    {
 1319        avatarId = id;
 20
 1321        if (otherPlayers.TryGetValue(avatarId, out Player player))
 22        {
 1023            OnAvatarFound?.Invoke(avatarId, player.anchorPoints);
 1024            return;
 25        }
 26
 327        otherPlayers.OnAdded -= OnOtherPlayersAdded;
 328        otherPlayers.OnAdded += OnOtherPlayersAdded;
 329    }
 30
 31    public void CleanUp()
 32    {
 3533        avatarId = null;
 3534        otherPlayers.OnAdded -= OnOtherPlayersAdded;
 3535    }
 36
 37    public void Dispose()
 38    {
 1439        CleanUp();
 1440        otherPlayers.OnRemoved -= OnOtherPlayersRemoved;
 1441    }
 42
 43    private void OnOtherPlayersAdded(string id, Player player)
 44    {
 145        if (id != avatarId)
 46        {
 047            return;
 48        }
 149        OnAvatarFound?.Invoke(avatarId, player.anchorPoints);
 150        otherPlayers.OnAdded -= OnOtherPlayersAdded;
 151    }
 52
 53    private void OnOtherPlayersRemoved(string id, Player player)
 54    {
 355        if (id != avatarId)
 56        {
 057            return;
 58        }
 359        OnAvatarRemoved?.Invoke(avatarId);
 360    }
 61}