| | 1 | | using System; |
| | 2 | | using DCL; |
| | 3 | | using ExploreV2Analytics; |
| | 4 | | using UnityEngine; |
| | 5 | |
|
| | 6 | | public 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 toggleExplore; |
| | 13 | | internal InputAction_Trigger toggleExpressionsHUD; |
| | 14 | | internal InputAction_Trigger toggleNavMap; |
| | 15 | |
|
| 125 | 16 | | public ShortcutsController() |
| | 17 | | { |
| 125 | 18 | | toggleQuestsPanel = Resources.Load<InputAction_Trigger>("ToggleQuestsPanelHUD"); |
| 125 | 19 | | toggleAvatarNames = Resources.Load<InputAction_Trigger>("ToggleAvatarNames"); |
| 125 | 20 | | toggleControls = Resources.Load<InputAction_Trigger>("ToggleControlsHud"); |
| 125 | 21 | | toggleAvatarEditor = Resources.Load<InputAction_Trigger>("ToggleAvatarEditorHud"); |
| 125 | 22 | | toggleExplore = Resources.Load<InputAction_Trigger>("ToggleExploreHud"); |
| 125 | 23 | | toggleExpressionsHUD = Resources.Load<InputAction_Trigger>("OpenExpressions"); |
| 125 | 24 | | toggleNavMap = Resources.Load<InputAction_Trigger>("ToggleNavMap"); |
| | 25 | |
|
| 125 | 26 | | Subscribe(); |
| 125 | 27 | | } |
| | 28 | |
|
| | 29 | | internal void Subscribe() |
| | 30 | | { |
| | 31 | |
|
| 125 | 32 | | toggleControls.OnTriggered += ToggleControlsTriggered; |
| 125 | 33 | | toggleAvatarEditor.OnTriggered += ToggleAvatarEditorTriggered; |
| 125 | 34 | | toggleAvatarNames.OnTriggered += ToggleAvatarNamesTriggered; |
| 125 | 35 | | toggleQuestsPanel.OnTriggered += ToggleQuestPanel; |
| 125 | 36 | | toggleExplore.OnTriggered += ToggleExploreTriggered; |
| 125 | 37 | | toggleExpressionsHUD.OnTriggered += ToggleExpressionsTriggered; |
| 125 | 38 | | toggleNavMap.OnTriggered += ToggleNavMapTriggered; |
| 125 | 39 | | } |
| | 40 | |
|
| | 41 | | internal void Unsubscribe() |
| | 42 | | { |
| 124 | 43 | | toggleControls.OnTriggered -= ToggleControlsTriggered; |
| 124 | 44 | | toggleAvatarEditor.OnTriggered -= ToggleAvatarEditorTriggered; |
| 124 | 45 | | toggleAvatarNames.OnTriggered -= ToggleAvatarNamesTriggered; |
| 124 | 46 | | toggleQuestsPanel.OnTriggered -= ToggleQuestPanel; |
| 124 | 47 | | toggleExplore.OnTriggered -= ToggleExploreTriggered; |
| 124 | 48 | | toggleExpressionsHUD.OnTriggered -= ToggleExpressionsTriggered; |
| 124 | 49 | | toggleNavMap.OnTriggered -= ToggleNavMapTriggered; |
| 124 | 50 | | } |
| | 51 | |
|
| 0 | 52 | | private void ToggleControlsTriggered(DCLAction_Trigger action) { DataStore.i.HUDs.controlsVisible.Set(!DataStore.i.H |
| 0 | 53 | | private void ToggleAvatarEditorTriggered(DCLAction_Trigger action) { DataStore.i.HUDs.avatarEditorVisible.Set(!DataS |
| 0 | 54 | | private void ToggleAvatarNamesTriggered(DCLAction_Trigger action) { DataStore.i.HUDs.avatarNamesVisible.Set(!DataSto |
| | 55 | | private void ToggleQuestPanel(DCLAction_Trigger action) |
| | 56 | | { |
| 0 | 57 | | bool value = !DataStore.i.HUDs.questsPanelVisible.Get(); |
| 0 | 58 | | SendQuestToggledAnalytic(value); |
| 0 | 59 | | DataStore.i.HUDs.questsPanelVisible.Set(value); |
| 0 | 60 | | } |
| | 61 | |
|
| | 62 | | private void ToggleExploreTriggered(DCLAction_Trigger action) |
| | 63 | | { |
| 1 | 64 | | bool value = !DataStore.i.exploreV2.isOpen.Get(); |
| 1 | 65 | | SendExploreToggledAnalytics(value); |
| 1 | 66 | | DataStore.i.exploreV2.isOpen.Set(value); |
| 1 | 67 | | } |
| | 68 | |
|
| 0 | 69 | | private void ToggleExpressionsTriggered(DCLAction_Trigger action) { DataStore.i.HUDs.emotesVisible.Set(!DataStore.i. |
| 0 | 70 | | private void ToggleNavMapTriggered(DCLAction_Trigger action) { DataStore.i.HUDs.navmapVisible.Set(!DataStore.i.HUDs. |
| | 71 | |
|
| 248 | 72 | | public void Dispose() { Unsubscribe(); } |
| | 73 | |
|
| | 74 | | // In the future the analytics will be received through DI in the shape of a service locator, |
| | 75 | | // so we can remove these methods and mock the locator itself |
| 0 | 76 | | internal virtual void SendQuestToggledAnalytic(bool value) { QuestsUIAnalytics.SendQuestLogVisibiltyChanged(value, " |
| 2 | 77 | | internal virtual void SendExploreToggledAnalytics(bool value) { new ExploreV2Analytics.ExploreV2Analytics().SendExpl |
| | 78 | |
|
| | 79 | | } |