< Summary

Class:DCLPlugins.RealmPlugin.JumpToHomeController
Assembly:DCL.Plugins.RealmsPlugin
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/RealmsPlugin/Utils/JumpToHomeController.cs
Covered lines:10
Uncovered lines:9
Coverable lines:19
Total lines:61
Line coverage:52.6% (10 of 19)
Covered branches:0
Total branches:0
Covered methods:4
Total methods:7
Method coverage:57.1% (4 of 7)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Start()0%110100%
SetVisibility(...)0%4.123050%
GoHome()0%2100%
OnDestroy()0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/RealmsPlugin/Utils/JumpToHomeController.cs

#LineLine coverage
 1using DCL;
 2using DCL.Interface;
 3using UnityEngine;
 4using UnityEngine.UI;
 5
 6namespace DCLPlugins.RealmPlugin
 7{
 8    /// <summary>
 9    /// Controller for the Jump to Home logic.
 10    /// Its used to chose the most populated realm to jump home to
 11    /// </summary>
 12    public class JumpToHomeController : MonoBehaviour
 13    {
 14        [SerializeField] private Button jumpButton;
 15        [SerializeField] private ShowHideAnimator showHideAnimator;
 16        [SerializeField] private RectTransform positionWithMiniMap;
 17        [SerializeField] private RectTransform positionWithoutMiniMap;
 18
 219        private BaseVariable<bool> jumpHomeButtonVisible => DataStore.i.HUDs.jumpHomeButtonVisible;
 020        private BaseVariable<bool> minimapVisible => DataStore.i.HUDs.minimapVisible;
 021        private BaseVariable<bool> exitedThroughButton => DataStore.i.common.exitedWorldThroughGoBackButton;
 22
 23        private RectTransform rectTransform;
 24
 25        private void Start()
 26        {
 127            rectTransform = jumpButton.GetComponent<RectTransform>();
 128            jumpButton.onClick.AddListener(GoHome);
 29
 130            SetVisibility(jumpHomeButtonVisible.Get(), false);
 131            jumpHomeButtonVisible.OnChange += SetVisibility;
 132        }
 33
 34        private void SetVisibility(bool current, bool _)
 35        {
 136            if (current)
 37            {
 038                jumpButton.interactable = true;
 039                rectTransform.anchoredPosition = minimapVisible.Get() ? positionWithMiniMap.anchoredPosition : positionW
 040                showHideAnimator.Show();
 41            }
 42            else
 143                showHideAnimator.Hide();
 144        }
 45
 46        private void GoHome()
 47        {
 048            jumpButton.interactable = false;
 049            exitedThroughButton.Set(true);
 050            WebInterface.SendChatMessage(new ChatMessage
 51            {
 52                messageType = ChatMessage.Type.NONE,
 53                recipient = string.Empty,
 54                body = "/goto home",
 55            });
 056        }
 57
 58        private void OnDestroy() =>
 1059            jumpButton.onClick.RemoveListener(GoHome);
 60    }
 61}