< Summary

Class:DCL.UserPositionMarker
Assembly:GlobalUsersPositionMarker
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/MapRenderer/GlobalUsersPositionMarker/Utils/UserPositionMarker.cs
Covered lines:21
Uncovered lines:3
Coverable lines:24
Total lines:62
Line coverage:87.5% (21 of 24)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
UserPositionMarker(...)0%110100%
SetActive(...)0%220100%
Dispose()0%110100%
OnRealmChanged(...)0%64050%
SetColor(...)0%2100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/MapRenderer/GlobalUsersPositionMarker/Utils/UserPositionMarker.cs

#LineLine coverage
 1using UnityEngine;
 2using System;
 3using Decentraland.Bff;
 4using Variables.RealmsInfo;
 5
 6namespace DCL
 7{
 8    /// <summary>
 9    /// Wrapper class to handle user's marker GameObject
 10    /// </summary>
 11    internal class UserPositionMarker : IDisposable
 12    {
 813        public Vector2Int coords { set; get; }
 514        public string realmServer { set; get; }
 515        public string realmLayer { set; get; }
 16
 1017        public string name { set { markerObject.name = value; } }
 18
 1019        public Vector3 localPosition { set { markerObject.transform.localPosition = value; } }
 20
 21        private UserMarkerObject markerObject;
 22
 130523        public UserPositionMarker(UserMarkerObject markerObject)
 24        {
 130525            this.markerObject = markerObject;
 130526            markerObject.gameObject.SetActive(false);
 130527        }
 28
 29        public void SetActive(bool active)
 30        {
 131431            if (active)
 32            {
 733                OnRealmChanged(DataStore.i.realm.realmName.Get(), null);
 734                DataStore.i.realm.realmName.OnChange -= OnRealmChanged;
 735                DataStore.i.realm.realmName.OnChange += OnRealmChanged;
 36            }
 37            else
 38            {
 130739                DataStore.i.realm.realmName.OnChange -= OnRealmChanged;
 40            }
 41
 131442            markerObject.gameObject.SetActive(active);
 131443        }
 44
 45
 46        public void Dispose()
 47        {
 130548            DataStore.i.realm.realmName.OnChange -= OnRealmChanged;
 130549            UnityEngine.Object.Destroy(markerObject.gameObject);
 130550        }
 51
 52        private void OnRealmChanged(string current, string prev)
 53        {
 754            if (current == null)
 755                return;
 56
 057            SetColor(current.Equals(realmServer) ? markerObject.sameRealmColor : markerObject.otherRealmColor);
 058        }
 59
 060        private void SetColor(Color color) { markerObject.color = color; }
 61    }
 62}