< Summary

Class:MinimapHUDView
Assembly:MinimapHUD
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/Minimap/MinimapHUDView.cs
Covered lines:22
Uncovered lines:3
Coverable lines:25
Total lines:78
Line coverage:88% (22 of 25)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Initialize(...)0%220100%
Create(...)0%110100%
UpdateData(...)0%220100%
ToggleOptions()0%2100%
SetVisibility(...)0%6.65060%

File(s)

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

#LineLine coverage
 1using DCL;
 2using TMPro;
 3using UnityEngine;
 4using UnityEngine.UI;
 5
 6public class MinimapHUDView : MonoBehaviour
 7{
 8    public const string VIEW_PATH = "MinimapHUD";
 9    public const string VIEW_OBJECT_NAME = "_MinimapHUD";
 10
 11    [Header("Information")] [SerializeField]
 12    private TextMeshProUGUI sceneNameText;
 13
 14    [SerializeField] private TextMeshProUGUI playerPositionText;
 15
 16    [Header("Options")] [SerializeField] private Button optionsButton;
 17    [SerializeField] private GameObject optionsPanel;
 18    [SerializeField] private Button addBookmarkButton;
 19    [SerializeField] private Button reportSceneButton;
 20    [SerializeField] internal UsersAroundListHUDButtonView usersAroundListHudButton;
 21
 22    [Header("Map Renderer")] public RectTransform mapRenderContainer;
 23    public RectTransform mapViewport;
 24    [SerializeField] private Button openNavmapButton;
 25
 26    public static System.Action<MinimapHUDModel> OnUpdateData;
 27    public static System.Action OnOpenNavmapClicked;
 28    public InputAction_Trigger toggleNavMapAction;
 29    [SerializeField] internal ShowHideAnimator mainShowHideAnimator;
 30
 31    [Header("Tutorial Configuration")]
 32    [SerializeField] internal RectTransform minimapTooltipReference;
 33    [SerializeField] internal RectTransform usersAroundTooltipReference;
 34
 35    private void Initialize(MinimapHUDController controller)
 36    {
 937        gameObject.name = VIEW_OBJECT_NAME;
 938        optionsPanel.SetActive(false);
 39
 940        optionsButton.onClick.AddListener(controller.ToggleOptions);
 941        addBookmarkButton.onClick.AddListener(controller.AddBookmark);
 942        reportSceneButton.onClick.AddListener(controller.ReportScene);
 943        openNavmapButton.onClick.AddListener(toggleNavMapAction.RaiseOnTriggered);
 44
 945        var renderer = MapRenderer.i;
 46
 947        if (renderer != null)
 48        {
 949            renderer.atlas.viewport = mapViewport;
 950            renderer.transform.SetParent(mapRenderContainer);
 951            renderer.transform.SetAsFirstSibling();
 52        }
 953        usersAroundListHudButton.gameObject.SetActive(false);
 954    }
 55
 56    internal static MinimapHUDView Create(MinimapHUDController controller)
 57    {
 958        var view = Instantiate(Resources.Load<GameObject>(VIEW_PATH)).GetComponent<MinimapHUDView>();
 959        view.Initialize(controller);
 960        return view;
 61    }
 62
 63    internal void UpdateData(MinimapHUDModel model)
 64    {
 1465        sceneNameText.text = string.IsNullOrEmpty(model.sceneName) ? "Unnamed" : model.sceneName;
 1466        playerPositionText.text = model.playerPosition;
 1467    }
 68
 069    public void ToggleOptions() { optionsPanel.SetActive(!optionsPanel.activeSelf); }
 70
 71    public void SetVisibility(bool visible)
 72    {
 173        if (visible && !mainShowHideAnimator.isVisible)
 074            mainShowHideAnimator.Show();
 175        else if (!visible && mainShowHideAnimator.isVisible)
 076            mainShowHideAnimator.Hide();
 177    }
 78}