< Summary

Class:SceneContextMenuHandler
Assembly:BuilderProjectsPanel
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/BuilderInWorld/HUD/ProjectsPanelHUD/Scripts/Handlers/SceneContextMenuHandler.cs
Covered lines:26
Uncovered lines:19
Coverable lines:45
Total lines:88
Line coverage:57.7% (26 of 45)
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%
OnContextMenuOpen(...)0%42600%
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/DCLPlugins/BuilderInWorld/HUD/ProjectsPanelHUD/Scripts/Handlers/SceneContextMenuHandler.cs

#LineLine coverage
 1using System;
 2using DCL.Builder;
 3using DCL.Interface;
 4using UnityEngine;
 5
 6internal class SceneContextMenuHandler : IDisposable
 7{
 8    private readonly SceneCardViewContextMenu contextMenu;
 9    private readonly ISectionsController sectionsController;
 10    private readonly IScenesViewController scenesViewController;
 11    private readonly UnpublishPopupController unpublishPopupController;
 12
 13    private Vector2Int sceneCoords;
 14    private Vector2Int sceneSize;
 15    private Scene.Source sceneSource;
 16
 1617    public SceneContextMenuHandler(SceneCardViewContextMenu contextMenu, ISectionsController sectionsController,
 18        IScenesViewController scenesViewController, UnpublishPopupController unpublishPopupController)
 19    {
 1620        this.contextMenu = contextMenu;
 1621        this.sectionsController = sectionsController;
 1622        this.scenesViewController = scenesViewController;
 1623        this.unpublishPopupController = unpublishPopupController;
 24
 1625        sectionsController.OnRequestContextMenuHide += OnRequestContextMenuHide;
 26
 1627        scenesViewController.OnContextMenuPressed += OnContextMenuOpen;
 28
 1629        contextMenu.OnSettingsPressed += OnContextMenuSettingsPressed;
 1630        contextMenu.OnDuplicatePressed += OnContextMenuDuplicatePressed;
 1631        contextMenu.OnDownloadPressed += OnContextMenuDownloadPressed;
 1632        contextMenu.OnSharePressed += OnContextMenuSharePressed;
 1633        contextMenu.OnUnpublishPressed += OnContextMenuUnpublishPressed;
 1634        contextMenu.OnDeletePressed += OnContextMenuDeletePressed;
 1635        contextMenu.OnQuitContributorPressed += OnContextMenuQuitContributorPressed;
 1636    }
 37
 38    public void Dispose()
 39    {
 1640        sectionsController.OnRequestContextMenuHide -= OnRequestContextMenuHide;
 41
 1642        scenesViewController.OnContextMenuPressed -= OnContextMenuOpen;
 43
 1644        contextMenu.OnSettingsPressed -= OnContextMenuSettingsPressed;
 1645        contextMenu.OnDuplicatePressed -= OnContextMenuDuplicatePressed;
 1646        contextMenu.OnDownloadPressed -= OnContextMenuDownloadPressed;
 1647        contextMenu.OnSharePressed -= OnContextMenuSharePressed;
 1648        contextMenu.OnUnpublishPressed -= OnContextMenuUnpublishPressed;
 1649        contextMenu.OnDeletePressed -= OnContextMenuDeletePressed;
 1650        contextMenu.OnQuitContributorPressed -= OnContextMenuQuitContributorPressed;
 1651    }
 52
 53    void OnContextMenuOpen(ISceneData sceneData, ISceneCardView sceneCard)
 54    {
 055        contextMenu.transform.position = sceneCard.contextMenuButtonPosition;
 056        contextMenu.Show(sceneData.id, sceneData.isDeployed,
 57            sceneData.isOwner || sceneData.isOperator, sceneData.isContributor);
 058        sceneCoords = sceneData.coords;
 059        sceneSource = sceneData.source;
 060        sceneSize = sceneData.size;
 061    }
 62
 63    public void OnContextMenuOpen(IProjectSceneCardView sceneCard)
 64    {
 065        contextMenu.transform.position = sceneCard.contextMenuButtonPosition;
 066        contextMenu.Show( sceneCard.scene.id, true,
 67            sceneCard.scene.land?.role == LandRole.OWNER || sceneCard.scene.land?.role == LandRole.OPERATOR, false);
 068        sceneCoords = sceneCard.scene.@base;
 069        sceneSource = sceneCard.scene.source;
 070        sceneSize =  BIWUtils.GetSceneSize(sceneCard.scene.parcels);
 071    }
 72
 273    void OnRequestContextMenuHide() { contextMenu.Hide(); }
 74
 075    void OnContextMenuSettingsPressed(string id) { scenesViewController.SelectScene(id); }
 76
 077    void OnContextMenuDuplicatePressed(string id) { }
 78
 079    void OnContextMenuDownloadPressed(string id) { }
 80
 081    void OnContextMenuSharePressed(string id) { }
 82
 083    void OnContextMenuUnpublishPressed(string id) { unpublishPopupController.Show(sceneCoords,sceneSize, sceneSource); }
 84
 085    void OnContextMenuDeletePressed(string id) { }
 86
 087    void OnContextMenuQuitContributorPressed(string id) { }
 88}