< Summary

Class:ShortcutsController
Assembly:Shortcuts
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/Shortcuts/ShortcutsController.cs
Covered lines:0
Uncovered lines:63
Coverable lines:63
Total lines:122
Line coverage:0% (0 of 63)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
ShortcutsController()0%2100%
Subscribe()0%2100%
Unsubscribe()0%2100%
ToggleControlsTriggered(...)0%2100%
ToggleAvatarEditorTriggered(...)0%6200%
ToggleAvatarNamesTriggered(...)0%2100%
ToggleQuestPanel(...)0%6200%
ToggleStartMenuTriggered(...)0%20400%
ToggleNavMapTriggered(...)0%6200%
TogglePlacesAndEventsTriggered(...)0%6200%
ToggleExpressionsTriggered(...)0%2100%
Dispose()0%2100%
SendQuestToggledAnalytic(...)0%2100%
SendExploreToggledAnalytics(...)0%2100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/Shortcuts/ShortcutsController.cs

#LineLine coverage
 1using System;
 2using DCL;
 3using ExploreV2Analytics;
 4using UnityEngine;
 5
 6public class ShortcutsController : IDisposable
 7{
 8    internal InputAction_Trigger toggleQuestsPanel;
 9    internal InputAction_Trigger toggleAvatarNames;
 10    internal InputAction_Trigger toggleControls;
 11    internal InputAction_Trigger toggleAvatarEditor;
 12    internal InputAction_Trigger toggleStartMenu;
 13    internal InputAction_Trigger toggleNavMap;
 14    internal InputAction_Trigger togglePlacesAndEvents;
 15    internal InputAction_Hold toggleExpressionsHUD;
 16
 017    public ShortcutsController()
 18    {
 019        toggleQuestsPanel = Resources.Load<InputAction_Trigger>("ToggleQuestsPanelHUD");
 020        toggleAvatarNames = Resources.Load<InputAction_Trigger>("ToggleAvatarNames");
 021        toggleControls = Resources.Load<InputAction_Trigger>("ToggleControlsHud");
 022        toggleAvatarEditor = Resources.Load<InputAction_Trigger>("ToggleAvatarEditorHud");
 023        toggleStartMenu = Resources.Load<InputAction_Trigger>("ToggleStartMenu");
 024        toggleNavMap = Resources.Load<InputAction_Trigger>("ToggleNavMap");
 025        togglePlacesAndEvents = Resources.Load<InputAction_Trigger>("TogglePlacesAndEventsHud");
 026        toggleExpressionsHUD = Resources.Load<InputAction_Hold>("OpenExpressions");
 27
 028        Subscribe();
 029    }
 30
 31    internal void Subscribe()
 32    {
 33
 034        toggleControls.OnTriggered += ToggleControlsTriggered;
 035        toggleAvatarEditor.OnTriggered += ToggleAvatarEditorTriggered;
 036        toggleAvatarNames.OnTriggered += ToggleAvatarNamesTriggered;
 037        toggleQuestsPanel.OnTriggered += ToggleQuestPanel;
 038        toggleStartMenu.OnTriggered += ToggleStartMenuTriggered;
 039        toggleNavMap.OnTriggered += ToggleNavMapTriggered;
 040        togglePlacesAndEvents.OnTriggered += TogglePlacesAndEventsTriggered;
 041        toggleExpressionsHUD.OnFinished += ToggleExpressionsTriggered;
 042    }
 43
 44    internal void Unsubscribe()
 45    {
 046        toggleControls.OnTriggered -= ToggleControlsTriggered;
 047        toggleAvatarEditor.OnTriggered -= ToggleAvatarEditorTriggered;
 048        toggleAvatarNames.OnTriggered -= ToggleAvatarNamesTriggered;
 049        toggleQuestsPanel.OnTriggered -= ToggleQuestPanel;
 050        toggleStartMenu.OnTriggered -= ToggleStartMenuTriggered;
 051        toggleNavMap.OnTriggered -= ToggleNavMapTriggered;
 052        togglePlacesAndEvents.OnTriggered -= TogglePlacesAndEventsTriggered;
 053        toggleExpressionsHUD.OnFinished -= ToggleExpressionsTriggered;
 054    }
 55
 056    private void ToggleControlsTriggered(DCLAction_Trigger action) { DataStore.i.HUDs.controlsVisible.Set(!DataStore.i.H
 57
 58    private void ToggleAvatarEditorTriggered(DCLAction_Trigger action)
 59    {
 060        if (!DataStore.i.HUDs.isAvatarEditorInitialized.Get())
 061            return;
 62
 063        DataStore.i.HUDs.avatarEditorVisible.Set(!DataStore.i.HUDs.avatarEditorVisible.Get());
 064    }
 65
 066    private void ToggleAvatarNamesTriggered(DCLAction_Trigger action) { DataStore.i.HUDs.avatarNamesVisible.Set(!DataSto
 67
 68    private void ToggleQuestPanel(DCLAction_Trigger action)
 69    {
 070        if (!DataStore.i.Quests.isInitialized.Get())
 071            return;
 72
 073        bool value = !DataStore.i.HUDs.questsPanelVisible.Get();
 074        SendQuestToggledAnalytic(value);
 075        DataStore.i.HUDs.questsPanelVisible.Set(value);
 076    }
 77
 78    private void ToggleStartMenuTriggered(DCLAction_Trigger action)
 79    {
 080        if (DataStore.i.builderInWorld.areShortcutsBlocked.Get())
 081            return;
 82
 083        bool value = !DataStore.i.exploreV2.isOpen.Get();
 084        if (DataStore.i.common.isSignUpFlow.Get()) return;
 85
 086        if (value)
 87        {
 088            SendExploreToggledAnalytics(value);
 089            DataStore.i.exploreV2.isOpen.Set(value);
 090        }
 91        else
 92        {
 093            DataStore.i.exploreV2.currentSectionIndex.Set(DataStore.i.exploreV2.currentSectionIndex.Get() + 1);
 94        }
 095    }
 96
 97    private void ToggleNavMapTriggered(DCLAction_Trigger action)
 98    {
 099        if (!DataStore.i.HUDs.isNavMapInitialized.Get())
 0100            return;
 101
 0102        DataStore.i.HUDs.navmapVisible.Set(!DataStore.i.HUDs.navmapVisible.Get());
 0103    }
 104
 105    private void TogglePlacesAndEventsTriggered(DCLAction_Trigger action)
 106    {
 0107        if (!DataStore.i.exploreV2.isPlacesAndEventsSectionInitialized.Get())
 0108            return;
 109
 0110        DataStore.i.exploreV2.placesAndEventsVisible.Set(!DataStore.i.exploreV2.placesAndEventsVisible.Get());
 0111    }
 112
 0113    private void ToggleExpressionsTriggered(DCLAction_Hold action) { DataStore.i.HUDs.emotesVisible.Set(!DataStore.i.HUD
 114
 0115    public void Dispose() { Unsubscribe(); }
 116
 117    // In the future the analytics will be received through DI in the shape of a service locator,
 118    // so we can remove these methods and mock the locator itself
 0119    internal virtual void SendQuestToggledAnalytic(bool value) { QuestsUIAnalytics.SendQuestLogVisibiltyChanged(value, "
 0120    internal virtual void SendExploreToggledAnalytics(bool value) { new ExploreV2Analytics.ExploreV2Analytics().SendStar
 121
 122}