< Summary

Class:PortableExperienceContextMenu
Assembly:TaskbarHUD
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/TaskbarHUD/PortableExperienceContextMenu.cs
Covered lines:11
Uncovered lines:9
Coverable lines:20
Total lines:64
Line coverage:55% (11 of 20)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
ConfigureMenu(...)0%110100%
OnDestroy()0%110100%
ShowMenu(...)0%7.464040%
KillPortableExperience()0%2100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/TaskbarHUD/PortableExperienceContextMenu.cs

#LineLine coverage
 1using TMPro;
 2using UnityEngine;
 3using UnityEngine.UI;
 4
 5/// <summary>
 6/// It represents the context menu for a Portable Experience item.
 7/// </summary>
 8public class PortableExperienceContextMenu : MonoBehaviour
 9{
 10    [SerializeField]
 11    private ShowHideAnimator menuAnimator;
 12
 13    [SerializeField]
 14    private TextMeshProUGUI menuTitle;
 15
 16    [SerializeField]
 17    private Button killButton;
 18
 19    private TaskbarHUDController taskbarController;
 20    private string portableExperienceId;
 21
 22    internal void ConfigureMenu(string portableExperienceId, string portableExperienceName, TaskbarHUDController taskbar
 23    {
 224        this.portableExperienceId = portableExperienceId;
 225        this.taskbarController = taskbarController;
 26
 227        ShowMenu(false, true);
 28
 229        menuTitle.text = portableExperienceName;
 230        killButton.onClick.AddListener(KillPortableExperience);
 231    }
 32
 2633    private void OnDestroy() { killButton.onClick.RemoveListener(KillPortableExperience); }
 34
 35    internal void ShowMenu(bool visible, bool instant = false)
 36    {
 237        if (visible)
 38        {
 039            if (!menuAnimator.gameObject.activeInHierarchy)
 40            {
 041                menuAnimator.gameObject.SetActive(true);
 42            }
 43
 044            menuAnimator.Show(instant);
 045        }
 46        else
 47        {
 248            if (!menuAnimator.gameObject.activeInHierarchy)
 49            {
 050                menuAnimator.gameObject.SetActive(false);
 051            }
 52            else
 53            {
 254                menuAnimator.Hide(instant);
 55            }
 56        }
 257    }
 58
 59    private void KillPortableExperience()
 60    {
 061        taskbarController.KillPortableExperience(portableExperienceId);
 062        ShowMenu(false);
 063    }
 64}