< Summary

Class:MinimapHUDView
Assembly:MinimapHUD
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/Minimap/MinimapHUDView.cs
Covered lines:37
Uncovered lines:4
Coverable lines:41
Total lines:106
Line coverage:90.2% (37 of 41)
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%
ReportScene()0%110100%
OnMouseLocked()0%2100%
Create(...)0%110100%
UpdateData(...)0%220100%
ToggleOptions()0%110100%
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
 1112    private int START_MENU_HOVER_BOOL = Animator.StringToHash("hover");
 1113    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] internal GameObject sceneOptionsPanel;
 24    [SerializeField] private ToggleComponentView toggleSceneUI;
 25    [SerializeField] internal Button reportSceneButton;
 26    [SerializeField] internal UsersAroundListHUDButtonView usersAroundListHudButton;
 27
 28    [Header("Map Renderer")] public RectTransform mapRenderContainer;
 29    public RectTransform mapViewport;
 30
 31    public static System.Action<MinimapHUDModel> OnUpdateData;
 32    public static System.Action OnOpenNavmapClicked;
 33    public InputAction_Trigger toggleNavMapAction;
 34    private IMouseCatcher mouseCatcher;
 35    private HUDCanvasCameraModeController hudCanvasCameraModeController;
 36    private MinimapHUDController controller;
 37
 2038    private void Awake() { hudCanvasCameraModeController = new HUDCanvasCameraModeController(GetComponent<Canvas>(), Dat
 39
 40    public void Initialize(MinimapHUDController controller)
 41    {
 1042        this.controller = controller;
 1043        mouseCatcher = SceneReferences.i?.mouseCatcher;
 1044        gameObject.name = VIEW_OBJECT_NAME;
 1045        sceneOptionsPanel.SetActive(false);
 46
 1047        optionsButton.onClick.AddListener(controller.ToggleOptions);
 1048        toggleSceneUI.OnSelectedChanged += (isOn, id, name) => controller.ToggleSceneUI(isOn);
 1049        reportSceneButton.onClick.AddListener(ReportScene);
 1050        openNavmapButton.onClick.AddListener(toggleNavMapAction.RaiseOnTriggered);
 51
 1052        if (mouseCatcher != null)
 1053            mouseCatcher.OnMouseLock += OnMouseLocked;
 54
 1055        var renderer = MapRenderer.i;
 56
 1057        if (renderer != null)
 58        {
 1059            renderer.atlas.viewport = mapViewport;
 1060            renderer.transform.SetParent(mapRenderContainer);
 1061            renderer.transform.SetAsFirstSibling();
 62        }
 1063        usersAroundListHudButton.gameObject.SetActive(false);
 1064    }
 65
 66    private void ReportScene()
 67    {
 168        controller.ReportScene();
 169        controller.ToggleOptions();
 170    }
 71
 72    internal void OnMouseLocked()
 73    {
 074        sceneOptionsPanel.SetActive(false);
 075    }
 76
 77    internal static MinimapHUDView Create(MinimapHUDController controller)
 78    {
 1079        var view = Instantiate(Resources.Load<GameObject>(VIEW_PATH)).GetComponent<MinimapHUDView>();
 1080        view.Initialize(controller);
 1081        return view;
 82    }
 83
 84    internal void UpdateData(MinimapHUDModel model)
 85    {
 1386        sceneNameText.text = string.IsNullOrEmpty(model.sceneName) ? "Unnamed" : model.sceneName;
 1387        playerPositionText.text = model.playerPosition;
 1388    }
 89
 490    public void ToggleOptions() { sceneOptionsPanel.SetActive(!sceneOptionsPanel.activeSelf); }
 91
 92    public void SetVisibility(bool visible)
 93    {
 194        if (visible && !mainShowHideAnimator.isVisible)
 095            mainShowHideAnimator.Show();
 196        else if (!visible && mainShowHideAnimator.isVisible)
 097            mainShowHideAnimator.Hide();
 198    }
 99
 100    private void OnDestroy()
 101    {
 10102        if(mouseCatcher != null)
 10103            mouseCatcher.OnMouseLock -= OnMouseLocked;
 10104        hudCanvasCameraModeController?.Dispose();
 10105    }
 106}