< Summary

Class:DCL.NavmapView
Assembly:Navmap
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/NavMap/NavmapView.cs
Covered lines:23
Uncovered lines:16
Coverable lines:39
Total lines:97
Line coverage:58.9% (23 of 39)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Start()0%110100%
OnEnable()0%110100%
OnDisable()0%110100%
OnDestroy()0%110100%
ConfigureMapInFullscreenMenuChanged(...)0%7.933018.18%
OnScrollValueChanged(...)0%6200%
UpdateCurrentSceneData(...)0%440100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/NavMap/NavmapView.cs

#LineLine coverage
 1using TMPro;
 2using UnityEngine;
 3using UnityEngine.UI;
 4
 5namespace DCL
 6{
 7
 8    public class NavmapView : MonoBehaviour
 9    {
 10        [SerializeField] private Button closeButton;
 11        [SerializeField] internal ScrollRect scrollRect;
 12        [SerializeField] private Transform scrollRectContentTransform;
 13
 14        [Header("TEXT")]
 15        [SerializeField] internal TextMeshProUGUI currentSceneNameText;
 16        [SerializeField] internal TextMeshProUGUI currentSceneCoordsText;
 17
 18        [Space]
 19        [SerializeField] internal NavmapToastView toastView;
 20        [SerializeField] private NavmapZoom zoom;
 21
 22        internal NavmapVisibilityBehaviour navmapVisibilityBehaviour;
 23        private NavmapCloseButtonBehaviour closeButtonBehaviour;
 24
 25        private RectTransform rectTransform;
 26
 27
 028        private RectTransform RectTransform => rectTransform ??= transform as RectTransform;
 029        private BaseVariable<bool> navmapVisible => DataStore.i.HUDs.navmapVisible;
 16230        private BaseVariable<Transform> configureMapInFullscreenMenu => DataStore.i.exploreV2.configureMapInFullscreenMe
 31
 32        void Start()
 33        {
 5434            closeButtonBehaviour = new NavmapCloseButtonBehaviour(closeButton, DataStore.i.HUDs.navmapVisible, DataStore
 5435            navmapVisibilityBehaviour = new NavmapVisibilityBehaviour(DataStore.i.HUDs.navmapVisible, scrollRect, scroll
 36
 5437            ConfigureMapInFullscreenMenuChanged(configureMapInFullscreenMenu.Get(), null);
 38
 5439            scrollRect.gameObject.SetActive(false);
 5440            DataStore.i.HUDs.isNavMapInitialized.Set(true);
 5441        }
 42
 43        private void OnEnable()
 44        {
 5445            configureMapInFullscreenMenu.OnChange += ConfigureMapInFullscreenMenuChanged;
 46
 5447            scrollRect.onValueChanged.AddListener(OnScrollValueChanged);
 5448            CommonScriptableObjects.playerCoords.OnChange += UpdateCurrentSceneData;
 5449        }
 50
 51        private void OnDisable()
 52        {
 5453            configureMapInFullscreenMenu.OnChange -= ConfigureMapInFullscreenMenuChanged;
 54
 5455            scrollRect.onValueChanged.RemoveListener(OnScrollValueChanged);
 5456            CommonScriptableObjects.playerCoords.OnChange -= UpdateCurrentSceneData;
 5457        }
 58
 59        private void OnDestroy()
 60        {
 5461            closeButtonBehaviour.Dispose();
 5462            navmapVisibilityBehaviour.Dispose();
 5463        }
 64
 65        private void ConfigureMapInFullscreenMenuChanged(Transform currentParentTransform, Transform _)
 66        {
 5467            if (currentParentTransform == null || transform.parent == currentParentTransform)
 5468                return;
 69
 070            transform.SetParent(currentParentTransform);
 071            transform.localScale = Vector3.one;
 72
 073            RectTransform.anchorMin = Vector2.zero;
 074            RectTransform.anchorMax = Vector2.one;
 075            RectTransform.pivot = new Vector2(0.5f, 0.5f);
 076            RectTransform.localPosition = Vector2.zero;
 077            RectTransform.offsetMax = Vector2.zero;
 078            RectTransform.offsetMin = Vector2.zero;
 079        }
 80
 81        private void OnScrollValueChanged(Vector2 _)
 82        {
 083            if (!navmapVisible.Get())
 084                return;
 85
 086            MapRenderer.i.atlas.UpdateCulling();
 087            toastView.Close();
 088        }
 89
 90        private void UpdateCurrentSceneData(Vector2Int current, Vector2Int _)
 91        {
 92            const string format = "{0},{1}";
 293            currentSceneCoordsText.text = string.Format(format, current.x, current.y);
 294            currentSceneNameText.text = MinimapMetadata.GetMetadata().GetSceneInfo(current.x, current.y)?.name ?? "Unnam
 295        }
 96    }
 97}