< Summary

Class:MinimapHUDView
Assembly:MinimapHUD
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/Minimap/MinimapHUDView.cs
Covered lines:38
Uncovered lines:8
Coverable lines:46
Total lines:118
Line coverage:82.6% (38 of 46)
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%55094.44%
ReportScene()0%110100%
SetHomeScene(...)0%2100%
OnMouseLocked()0%2100%
Create(...)0%110100%
UpdateSetHomePanel(...)0%110100%
UpdateData(...)0%220100%
ToggleOptions()0%110100%
SetVisibility(...)0%6.65060%
OnDestroy()0%3.143075%

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
 1212    private int START_MENU_HOVER_BOOL = Animator.StringToHash("hover");
 1213    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    [SerializeField] internal ToggleComponentView setHomeScene;
 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    private MinimapHUDController controller;
 38
 2239    private void Awake() { hudCanvasCameraModeController = new HUDCanvasCameraModeController(GetComponent<Canvas>(), Dat
 40
 41    public void Initialize(MinimapHUDController controller)
 42    {
 1143        this.controller = controller;
 1144        mouseCatcher = SceneReferences.i?.mouseCatcher;
 1145        gameObject.name = VIEW_OBJECT_NAME;
 1146        sceneOptionsPanel.SetActive(false);
 47
 1148        optionsButton.onClick.AddListener(controller.ToggleOptions);
 1149        toggleSceneUI.OnSelectedChanged += (isOn, id, name) => controller.ToggleSceneUI(isOn);
 1150        reportSceneButton.onClick.AddListener(ReportScene);
 1151        setHomeScene.OnSelectedChanged += (isOn, id, name) => SetHomeScene(isOn);
 1152        openNavmapButton.onClick.AddListener(toggleNavMapAction.RaiseOnTriggered);
 53
 1154        if (mouseCatcher != null)
 055            mouseCatcher.OnMouseLock += OnMouseLocked;
 56
 1157        var renderer = MapRenderer.i;
 58
 1159        if (renderer != null)
 60        {
 1161            renderer.atlas.viewport = mapViewport;
 1162            renderer.transform.SetParent(mapRenderContainer);
 1163            renderer.transform.SetAsFirstSibling();
 64        }
 1165        usersAroundListHudButton.gameObject.SetActive(false);
 1166    }
 67
 68    private void ReportScene()
 69    {
 170        controller.ReportScene();
 171        controller.ToggleOptions();
 172    }
 73
 74    private void SetHomeScene(bool isOn)
 75    {
 076        controller.SetHomeScene(isOn);
 077    }
 78
 79    internal void OnMouseLocked()
 80    {
 081        sceneOptionsPanel.SetActive(false);
 082    }
 83
 84    internal static MinimapHUDView Create(MinimapHUDController controller)
 85    {
 1186        var view = Instantiate(Resources.Load<GameObject>(VIEW_PATH)).GetComponent<MinimapHUDView>();
 1187        view.Initialize(controller);
 1188        return view;
 89    }
 90
 91    internal void UpdateSetHomePanel(bool isHome)
 92    {
 193        setHomeScene.SetIsOnWithoutNotify(isHome);
 194    }
 95
 96    internal void UpdateData(MinimapHUDModel model)
 97    {
 1698        sceneNameText.text = string.IsNullOrEmpty(model.sceneName) ? "Unnamed" : model.sceneName;
 1699        playerPositionText.text = model.playerPosition;
 16100    }
 101
 4102    public void ToggleOptions() { sceneOptionsPanel.SetActive(!sceneOptionsPanel.activeSelf); }
 103
 104    public void SetVisibility(bool visible)
 105    {
 1106        if (visible && !mainShowHideAnimator.isVisible)
 0107            mainShowHideAnimator.Show();
 1108        else if (!visible && mainShowHideAnimator.isVisible)
 0109            mainShowHideAnimator.Hide();
 1110    }
 111
 112    private void OnDestroy()
 113    {
 11114        if(mouseCatcher != null)
 0115            mouseCatcher.OnMouseLock -= OnMouseLocked;
 11116        hudCanvasCameraModeController?.Dispose();
 11117    }
 118}