< Summary

Class:SceneContextMenuHandler
Assembly:BuilderProjectsPanel
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/BuilderProjectsPanel/Scripts/Handlers/SceneContextMenuHandler.cs
Covered lines:26
Uncovered lines:12
Coverable lines:38
Total lines:75
Line coverage:68.4% (26 of 38)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
SceneContextMenuHandler(...)0%110100%
Dispose()0%110100%
OnContextMenuOpen(...)0%6200%
OnRequestContextMenuHide()0%110100%
OnContextMenuSettingsPressed(...)0%2100%
OnContextMenuDuplicatePressed(...)0%2100%
OnContextMenuDownloadPressed(...)0%2100%
OnContextMenuSharePressed(...)0%2100%
OnContextMenuUnpublishPressed(...)0%2100%
OnContextMenuDeletePressed(...)0%2100%
OnContextMenuQuitContributorPressed(...)0%2100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/BuilderProjectsPanel/Scripts/Handlers/SceneContextMenuHandler.cs

#LineLine coverage
 1using System;
 2using DCL.Interface;
 3using UnityEngine;
 4
 5internal class SceneContextMenuHandler : IDisposable
 6{
 7    private readonly SceneCardViewContextMenu contextMenu;
 8    private readonly ISectionsController sectionsController;
 9    private readonly IScenesViewController scenesViewController;
 10    private readonly UnpublishPopupController unpublishPopupController;
 11
 12    private Vector2Int sceneCoords;
 13    private DeployedScene.Source sceneSource;
 14
 1615    public SceneContextMenuHandler(SceneCardViewContextMenu contextMenu, ISectionsController sectionsController,
 16        IScenesViewController scenesViewController, UnpublishPopupController unpublishPopupController)
 17    {
 1618        this.contextMenu = contextMenu;
 1619        this.sectionsController = sectionsController;
 1620        this.scenesViewController = scenesViewController;
 1621        this.unpublishPopupController = unpublishPopupController;
 22
 1623        sectionsController.OnRequestContextMenuHide += OnRequestContextMenuHide;
 24
 1625        scenesViewController.OnContextMenuPressed += OnContextMenuOpen;
 26
 1627        contextMenu.OnSettingsPressed += OnContextMenuSettingsPressed;
 1628        contextMenu.OnDuplicatePressed += OnContextMenuDuplicatePressed;
 1629        contextMenu.OnDownloadPressed += OnContextMenuDownloadPressed;
 1630        contextMenu.OnSharePressed += OnContextMenuSharePressed;
 1631        contextMenu.OnUnpublishPressed += OnContextMenuUnpublishPressed;
 1632        contextMenu.OnDeletePressed += OnContextMenuDeletePressed;
 1633        contextMenu.OnQuitContributorPressed += OnContextMenuQuitContributorPressed;
 1634    }
 35
 36    public void Dispose()
 37    {
 1638        sectionsController.OnRequestContextMenuHide -= OnRequestContextMenuHide;
 39
 1640        scenesViewController.OnContextMenuPressed -= OnContextMenuOpen;
 41
 1642        contextMenu.OnSettingsPressed -= OnContextMenuSettingsPressed;
 1643        contextMenu.OnDuplicatePressed -= OnContextMenuDuplicatePressed;
 1644        contextMenu.OnDownloadPressed -= OnContextMenuDownloadPressed;
 1645        contextMenu.OnSharePressed -= OnContextMenuSharePressed;
 1646        contextMenu.OnUnpublishPressed -= OnContextMenuUnpublishPressed;
 1647        contextMenu.OnDeletePressed -= OnContextMenuDeletePressed;
 1648        contextMenu.OnQuitContributorPressed -= OnContextMenuQuitContributorPressed;
 1649    }
 50
 51    void OnContextMenuOpen(ISceneData sceneData, ISceneCardView sceneCard)
 52    {
 053        contextMenu.transform.position = sceneCard.contextMenuButtonPosition;
 054        contextMenu.Show(sceneData.id, sceneData.isDeployed,
 55            sceneData.isOwner || sceneData.isOperator, sceneData.isContributor);
 056        sceneCoords = sceneData.coords;
 057        sceneSource = sceneData.source;
 058    }
 59
 260    void OnRequestContextMenuHide() { contextMenu.Hide(); }
 61
 062    void OnContextMenuSettingsPressed(string id) { scenesViewController.SelectScene(id); }
 63
 064    void OnContextMenuDuplicatePressed(string id) { }
 65
 066    void OnContextMenuDownloadPressed(string id) { }
 67
 068    void OnContextMenuSharePressed(string id) { }
 69
 070    void OnContextMenuUnpublishPressed(string id) { unpublishPopupController.Show(sceneCoords, sceneSource); }
 71
 072    void OnContextMenuDeletePressed(string id) { }
 73
 074    void OnContextMenuQuitContributorPressed(string id) { }
 75}