< Summary

Class:PreviewMenuController
Assembly:DebugPlugins_PreviewMenu
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/DebugPlugins/PreviewMenu/PreviewMenuController.cs
Covered lines:36
Uncovered lines:8
Coverable lines:44
Total lines:102
Line coverage:81.8% (36 of 44)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
PreviewMenuController()0%110100%
Dispose()0%110100%
IsFPSPanelOn()0%110100%
OnFPSPanelToggle(...)0%110100%
IsBoundingBoxOn()0%220100%
OnBoundingBoxToggle(...)0%330100%
IsSpawnPointsOn()0%220100%
OnSpawnPointsToggle(...)0%12300%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/DebugPlugins/PreviewMenu/PreviewMenuController.cs

#LineLine coverage
 1using System;
 2using System.Linq;
 3using DCL;
 4using UnityEngine;
 5using Object = UnityEngine.Object;
 6
 7internal class PreviewMenuController : IDisposable
 8{
 9    internal const string MENU_VIEW_RES_PATH = "PreviewMenuView";
 10    internal const string TOGGLEVISIBILITY_VIEW_RES_PATH = "PreviewMenuVisibilityToggle";
 11    internal const string POSITION_VIEW_RES_PATH = "PreviewMenuPositionView";
 12
 13    internal readonly PreviewMenuView menuView;
 14
 15    internal readonly PreviewMenuVisibilityToggleView showFps;
 16    internal readonly PreviewMenuVisibilityToggleView showBoundingBox;
 17    internal readonly PreviewMenuPositionView positionView;
 18    internal readonly PreviewMenuVisibilityToggleView spawnPoints;
 19
 520    public PreviewMenuController()
 21    {
 522        var menuViewResource = Resources.Load<PreviewMenuView>(MENU_VIEW_RES_PATH);
 523        menuView = Object.Instantiate(menuViewResource);
 524        menuView.name = "_PreviewMenu";
 525        menuView.SetVisible(false);
 26
 527        var visibilityToggleViewResource = Resources.Load<PreviewMenuVisibilityToggleView>(TOGGLEVISIBILITY_VIEW_RES_PAT
 528        showFps = Object.Instantiate(visibilityToggleViewResource);
 529        showFps.SetUp("FPS PANEL", IsFPSPanelOn, OnFPSPanelToggle);
 30
 531        showBoundingBox = Object.Instantiate(visibilityToggleViewResource);
 532        showBoundingBox.SetUp("BOUNDING BOXES", IsBoundingBoxOn, OnBoundingBoxToggle);
 33
 534        spawnPoints = Object.Instantiate(visibilityToggleViewResource);
 535        spawnPoints.SetUp("SPAWN POINTS", IsSpawnPointsOn, OnSpawnPointsToggle);
 36
 537        var positionViewResource = Resources.Load<PreviewMenuPositionView>(POSITION_VIEW_RES_PATH);
 538        positionView = Object.Instantiate(positionViewResource);
 39
 540        menuView.AddMenuItem(positionView.transform);
 541        menuView.AddMenuItem(showFps.transform);
 542        menuView.AddMenuItem(showBoundingBox.transform);
 543        menuView.AddMenuItem(spawnPoints.transform);
 544    }
 45
 46    public void Dispose()
 47    {
 548        positionView.Dispose();
 549        showBoundingBox.Dispose();
 550        showFps.Dispose();
 551        menuView.Dispose();
 552        spawnPoints.Dispose();
 553    }
 54
 55    private static bool IsFPSPanelOn()
 56    {
 657        return DataStore.i.debugConfig.isFPSPanelVisible.Get();
 58    }
 59
 60    private static void OnFPSPanelToggle(bool isOn)
 61    {
 162        DataStore.i.debugConfig.isFPSPanelVisible.Set(isOn);
 163    }
 64
 65    private static bool IsBoundingBoxOn()
 66    {
 667        return DataStore.i.debugConfig.showSceneBoundingBoxes.Get()
 168                        .Any(pair => pair.Value);
 69    }
 70
 71    private static void OnBoundingBoxToggle(bool isOn)
 72    {
 173        var sceneIds = DataStore.i.debugConfig.showSceneBoundingBoxes.Get()
 174                                .Select(pair => pair.Key)
 75                                .ToArray();
 76
 477        foreach (var sceneId in sceneIds)
 78        {
 179            DataStore.i.debugConfig.showSceneBoundingBoxes.AddOrSet(sceneId, isOn);
 80        }
 181    }
 82
 83    private static bool IsSpawnPointsOn()
 84    {
 585        return DataStore.i.debugConfig.showSceneSpawnPoints.Get()
 086                        .Any(pair => pair.Value.enabled.HasValue && pair.Value.enabled.Value);
 87    }
 88
 89    private static void OnSpawnPointsToggle(bool isOn)
 90    {
 091        var sceneIds = DataStore.i.debugConfig.showSceneSpawnPoints.Get()
 092                                .Select(pair => pair.Key)
 93                                .ToArray();
 94
 095        foreach (var sceneId in sceneIds)
 96        {
 097            var data = DataStore.i.debugConfig.showSceneSpawnPoints.Get(sceneId);
 098            data.enabled = isOn;
 099            DataStore.i.debugConfig.showSceneSpawnPoints.AddOrSet(sceneId, data);
 100        }
 0101    }
 102}