< Summary

Class:MinimapHUDView
Assembly:MinimapHUD
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/Minimap/MinimapHUDView.cs
Covered lines:33
Uncovered lines:5
Coverable lines:38
Total lines:100
Line coverage:86.8% (33 of 38)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
MinimapHUDView()0%110100%
Awake()0%110100%
Initialize(...)0%550100%
OnMouseLocked()0%2100%
Create(...)0%110100%
UpdateData(...)0%220100%
ToggleOptions()0%2100%
SetVisibility(...)0%6.65060%
OnDestroy()0%330100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/Minimap/MinimapHUDView.cs

#LineLine coverage
 1using System;
 2using DCL;
 3using TMPro;
 4using UnityEngine;
 5using UnityEngine.UI;
 6
 7public class MinimapHUDView : MonoBehaviour
 8{
 9    public const string VIEW_PATH = "MinimapHUD";
 10    public const string VIEW_OBJECT_NAME = "_MinimapHUD";
 11
 1012    private int START_MENU_HOVER_BOOL = Animator.StringToHash("hover");
 1013    private int START_MENU_PRESSED_TRIGGER = Animator.StringToHash("pressed");
 14
 15    [Header("Information")] [SerializeField]
 16    private TextMeshProUGUI sceneNameText;
 17
 18    [SerializeField] private TextMeshProUGUI playerPositionText;
 19    [SerializeField] internal ShowHideAnimator mainShowHideAnimator;
 20    [SerializeField] private Button openNavmapButton;
 21
 22    [Header("Options")] [SerializeField] private Button optionsButton;
 23    [SerializeField] private GameObject sceneOptionsPanel;
 24    [SerializeField] private ToggleComponentView toggleSceneUI;
 25    [SerializeField] private Button addBookmarkButton;
 26    [SerializeField] private Button reportSceneButton;
 27    [SerializeField] internal UsersAroundListHUDButtonView usersAroundListHudButton;
 28
 29    [Header("Map Renderer")] public RectTransform mapRenderContainer;
 30    public RectTransform mapViewport;
 31
 32    public static System.Action<MinimapHUDModel> OnUpdateData;
 33    public static System.Action OnOpenNavmapClicked;
 34    public InputAction_Trigger toggleNavMapAction;
 35    private IMouseCatcher mouseCatcher;
 36    private HUDCanvasCameraModeController hudCanvasCameraModeController;
 37
 1838    private void Awake() { hudCanvasCameraModeController = new HUDCanvasCameraModeController(GetComponent<Canvas>(), Dat
 39
 40    public void Initialize(MinimapHUDController controller)
 41    {
 942        mouseCatcher = SceneReferences.i?.mouseCatcher;
 943        gameObject.name = VIEW_OBJECT_NAME;
 944        sceneOptionsPanel.SetActive(false);
 45
 946        optionsButton.onClick.AddListener(controller.ToggleOptions);
 947        toggleSceneUI.OnSelectedChanged += (isOn, id, name) => controller.ToggleSceneUI(isOn);
 948        addBookmarkButton.onClick.AddListener(controller.AddBookmark);
 949        reportSceneButton.onClick.AddListener(controller.ReportScene);
 950        openNavmapButton.onClick.AddListener(toggleNavMapAction.RaiseOnTriggered);
 51
 952        if (mouseCatcher != null)
 953            mouseCatcher.OnMouseLock += OnMouseLocked;
 54
 955        var renderer = MapRenderer.i;
 56
 957        if (renderer != null)
 58        {
 959            renderer.atlas.viewport = mapViewport;
 960            renderer.transform.SetParent(mapRenderContainer);
 961            renderer.transform.SetAsFirstSibling();
 62        }
 963        usersAroundListHudButton.gameObject.SetActive(false);
 964    }
 65
 66    internal void OnMouseLocked()
 67    {
 068        sceneOptionsPanel.SetActive(false);
 069    }
 70
 71    internal static MinimapHUDView Create(MinimapHUDController controller)
 72    {
 973        var view = Instantiate(Resources.Load<GameObject>(VIEW_PATH)).GetComponent<MinimapHUDView>();
 974        view.Initialize(controller);
 975        return view;
 76    }
 77
 78    internal void UpdateData(MinimapHUDModel model)
 79    {
 1280        sceneNameText.text = string.IsNullOrEmpty(model.sceneName) ? "Unnamed" : model.sceneName;
 1281        playerPositionText.text = model.playerPosition;
 1282    }
 83
 084    public void ToggleOptions() { sceneOptionsPanel.SetActive(!sceneOptionsPanel.activeSelf); }
 85
 86    public void SetVisibility(bool visible)
 87    {
 188        if (visible && !mainShowHideAnimator.isVisible)
 089            mainShowHideAnimator.Show();
 190        else if (!visible && mainShowHideAnimator.isVisible)
 091            mainShowHideAnimator.Hide();
 192    }
 93
 94    private void OnDestroy()
 95    {
 996        if(mouseCatcher != null)
 997            mouseCatcher.OnMouseLock -= OnMouseLocked;
 998        hudCanvasCameraModeController?.Dispose();
 999    }
 100}