< Summary

Class:InputController
Assembly:InputController
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/InputController/InputController.cs
Covered lines:184
Uncovered lines:8
Coverable lines:192
Total lines:451
Line coverage:95.8% (184 of 192)
Covered branches:0
Total branches:0
Covered methods:8
Total methods:9
Method coverage:88.8% (8 of 9)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
InputController()0%110100%
InputController()0%110100%
Update()0%2.092071.43%
Update_Trigger(...)0%6565099.14%
Update_Hold(...)0%24.0124097.62%
Update_Measurable(...)0%14.0114096%
Stop_Measurable(...)0%6200%

File(s)

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

#LineLine coverage
 1using DCL;
 2using DCL.Configuration;
 3using System;
 4using UnityEngine;
 5
 6/// <summary>
 7/// Mapping for Trigger actions
 8/// </summary>
 9public enum DCLAction_Trigger
 10{
 11    //Remember to explicitly assign the value to each entry so we minimize issues with serialization + conflicts
 12    CameraChange = 100,
 13    CursorUnlock = 101,
 14
 15    ToggleNavMap = 110,
 16    ToggleFriends = 120,
 17    CloseWindow = 121,
 18    ToggleWorldChat = 122,
 19    ToggleUIVisibility = 123,
 20    ToggleControlsHud = 124,
 21    ToggleSettings = 125,
 22    ToggleStartMenu = 126,
 23    ToggleVoiceChatRecording = 127,
 24    ToggleAvatarEditorHud = 128,
 25    ToggleQuestsPanelHud = 129,
 26    ToggleAvatarNamesHud = 130,
 27    TogglePlacesAndEventsHud = 131,
 28    ToggleShortcut0 = 132,
 29    ToggleShortcut1 = 133,
 30    ToggleShortcut2 = 134,
 31    ToggleShortcut3 = 135,
 32    ToggleShortcut4 = 136,
 33    ToggleShortcut5 = 137,
 34    ToggleShortcut6 = 138,
 35    ToggleShortcut7 = 139,
 36    ToggleShortcut8 = 140,
 37    ToggleShortcut9 = 141,
 38    ToggleEmoteShortcut0 = 142,
 39    ToggleEmoteShortcut1 = 143,
 40    ToggleEmoteShortcut2 = 144,
 41    ToggleEmoteShortcut3 = 145,
 42    ToggleEmoteShortcut4 = 146,
 43    ToggleEmoteShortcut5 = 147,
 44    ToggleEmoteShortcut6 = 148,
 45    ToggleEmoteShortcut7 = 149,
 46    ToggleEmoteShortcut8 = 150,
 47    ToggleEmoteShortcut9 = 151,
 48    ChatPreviousInHistory = 152,
 49    ChatNextInHistory = 153,
 50    ChatMentionNextEntry = 154,
 51    ChatMentionPreviousEntry = 155,
 52    ToggleScreenshotCamera = 156,
 53    TakeScreenshot = 157,
 54    ToggleCameraReelSection = 158,
 55    ToggleScreenshotCameraHUD = 159,
 56    CloseScreenshotCamera = 160,
 57
 58    Expression_Wave = 201,
 59    Expression_FistPump = 202,
 60    Expression_Robot = 203,
 61    Expression_RaiseHand = 204,
 62    Expression_Clap = 205,
 63    Expression_ThrowMoney = 206,
 64    Expression_SendKiss = 207,
 65    Expression_Dance = 208,
 66    Expression_Hohoho = 209,
 67    Expression_Snowfall = 210,
 68}
 69
 70/// <summary>
 71/// Mapping for hold actions
 72/// </summary>
 73public enum DCLAction_Hold
 74{
 75    //Remember to explicitly assign the value to each entry so we minimize issues with serialization + conflicts
 76    Sprint = 1,
 77    Jump = 2,
 78    ZoomIn = 3,
 79    ZoomOut = 4,
 80    ScreenshotCameraUp = 51,
 81    ScreenshotCameraDown = 52,
 82    ScreenshotCameraRollLeft = 53,
 83    ScreenshotCameraRollRight = 54,
 84
 85    FreeCameraMode = 101,
 86    VoiceChatRecording = 102,
 87    DefaultConfirmAction = 300,
 88    DefaultCancelAction = 301,
 89    OpenExpressions = 447,
 90    MouseFirstClick = 448,
 91    MouseSecondClick = 449,
 92    MouseMiddleClick = 450,
 93}
 94
 95/// <summary>
 96/// Mapping for measurable actions
 97/// </summary>
 98public enum DCLAction_Measurable
 99{
 100    //Remember to explicitly assign the value to each entry so we minimize issues with serialization + conflicts
 101    CharacterXAxis = 1,
 102    CharacterYAxis = 2,
 103    CameraXAxis = 3,
 104    CameraYAxis = 4,
 105    MouseWheel = 5,
 106
 107    ScreenshotCameraXTranslationAxis = 11,
 108    ScreenshotCameraYTranslationAxis = 12,
 109    ScreenshotCameraXRotationAxis = 13,
 110    ScreenshotCameraYRotationAxis = 14,
 111}
 112
 113/// <summary>
 114/// Input Controller will map inputs(keys/mouse/axis) to DCL actions, check if they can be triggered (modifiers) and rai
 115/// </summary>
 116public class InputController : MonoBehaviour
 117{
 1118    public static bool ENABLE_THIRD_PERSON_CAMERA = true;
 119
 341120    private readonly KeyCode[] modifierKeyB = { KeyCode.B };
 341121    private readonly KeyCode[] modifierKeyLeftAlt = { KeyCode.LeftAlt };
 122
 123    [Header("General Input")]
 124    public InputAction_Trigger[] triggerTimeActions;
 125    public InputAction_Hold[] holdActions;
 126    public InputAction_Measurable[] measurableActions;
 127
 6051128    bool renderingEnabled => CommonScriptableObjects.rendererState.Get();
 18153129    bool allUIHidden => CommonScriptableObjects.allUIHidden.Get();
 130
 131    private void Update()
 132    {
 6051133        if (!renderingEnabled)
 134        {
 0135            Stop_Measurable(measurableActions);
 0136            return;
 137        }
 138
 6051139        Update_Trigger(triggerTimeActions);
 6051140        Update_Hold(holdActions);
 6051141        Update_Measurable(measurableActions);
 6051142    }
 143
 144    /// <summary>
 145    /// Map the trigger actions to inputs + modifiers and check if their events must be triggered
 146    /// </summary>
 147    private void Update_Trigger(InputAction_Trigger[] triggerTimeActions)
 148    {
 629304149        foreach (var action in triggerTimeActions)
 150        {
 308601151            if (action.isTriggerBlocked != null && action.isTriggerBlocked.Get())
 152                continue;
 153
 308601154            switch (action.DCLAction)
 155            {
 156                case DCLAction_Trigger.CameraChange:
 157                    // Disable until the fine-tuning is ready
 6051158                    if (!CommonScriptableObjects.cameraModeInputLocked.Get() && ENABLE_THIRD_PERSON_CAMERA)
 6051159                        InputProcessor.FromKey(action, KeyCode.V, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051160                    break;
 161                case DCLAction_Trigger.CursorUnlock:
 6051162                    InputProcessor.FromMouseButtonUp(action, mouseButtonIdx: 1, modifiers: InputProcessor.Modifier.Needs
 163#if !WEB_PLATFORM
 6051164                    InputProcessor.FromKey(action, KeyCode.Escape, modifiers: InputProcessor.Modifier.NeedsPointerLocked
 165#endif
 6051166                    break;
 167                case DCLAction_Trigger.ToggleNavMap:
 6051168                    if (!DataStore.i.common.isWorld.Get())
 6051169                        InputProcessor.FromKey(action, KeyCode.M, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051170                    break;
 171                case DCLAction_Trigger.ToggleFriends:
 6051172                    if (!allUIHidden)
 6051173                        InputProcessor.FromKey(action, KeyCode.L, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051174                    break;
 175                case DCLAction_Trigger.ToggleWorldChat:
 6051176                    if (!allUIHidden)
 6051177                        InputProcessor.FromKey(action, KeyCode.Return, modifiers: InputProcessor.Modifier.FocusNotInInpu
 6051178                    break;
 179                case DCLAction_Trigger.ToggleUIVisibility:
 6051180                    InputProcessor.FromKey(action, KeyCode.U, modifiers: InputProcessor.Modifier.None);
 6051181                    break;
 182                case DCLAction_Trigger.CloseWindow:
 6051183                    if (!DataStore.i.common.isSignUpFlow.Get() && (!allUIHidden || CommonScriptableObjects.isScreenshotC
 6051184                        InputProcessor.FromKey(action, KeyCode.Escape, modifiers: InputProcessor.Modifier.None);
 6051185                    break;
 186                case DCLAction_Trigger.ToggleControlsHud:
 6051187                    InputProcessor.FromKey(action, KeyCode.H, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051188                    break;
 189                case DCLAction_Trigger.ToggleSettings:
 6051190                    InputProcessor.FromKey(action, KeyCode.P, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051191                    break;
 192                case DCLAction_Trigger.ToggleStartMenu:
 6051193                    InputProcessor.FromKey(action, KeyCode.Tab, modifiers: InputProcessor.Modifier.None);
 6051194                    break;
 195                case DCLAction_Trigger.TogglePlacesAndEventsHud:
 6051196                    InputProcessor.FromKey(action, KeyCode.X, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051197                    break;
 198                case DCLAction_Trigger.ToggleShortcut0:
 6051199                    InputProcessor.FromKey(action, KeyCode.Alpha0, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051200                    break;
 201                case DCLAction_Trigger.ToggleShortcut1:
 6051202                    InputProcessor.FromKey(action, KeyCode.Alpha1, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051203                    break;
 204                case DCLAction_Trigger.ToggleShortcut2:
 6051205                    InputProcessor.FromKey(action, KeyCode.Alpha2, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051206                    break;
 207                case DCLAction_Trigger.ToggleShortcut3:
 6051208                    InputProcessor.FromKey(action, KeyCode.Alpha3, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051209                    break;
 210                case DCLAction_Trigger.ToggleShortcut4:
 6051211                    InputProcessor.FromKey(action, KeyCode.Alpha4, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051212                    break;
 213                case DCLAction_Trigger.ToggleShortcut5:
 6051214                    InputProcessor.FromKey(action, KeyCode.Alpha5, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051215                    break;
 216                case DCLAction_Trigger.ToggleShortcut6:
 6051217                    InputProcessor.FromKey(action, KeyCode.Alpha6, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051218                    break;
 219                case DCLAction_Trigger.ToggleShortcut7:
 6051220                    InputProcessor.FromKey(action, KeyCode.Alpha7, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051221                    break;
 222                case DCLAction_Trigger.ToggleShortcut8:
 6051223                    InputProcessor.FromKey(action, KeyCode.Alpha8, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051224                    break;
 225                case DCLAction_Trigger.ToggleShortcut9:
 6051226                    InputProcessor.FromKey(action, KeyCode.Alpha9, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051227                    break;
 228                case DCLAction_Trigger.ToggleEmoteShortcut0:
 6051229                    InputProcessor.FromKey(action, KeyCode.Alpha0, modifiers: InputProcessor.Modifier.FocusNotInInput, m
 6051230                    break;
 231                case DCLAction_Trigger.ToggleEmoteShortcut1:
 6051232                    InputProcessor.FromKey(action, KeyCode.Alpha1, modifiers: InputProcessor.Modifier.FocusNotInInput, m
 6051233                    break;
 234                case DCLAction_Trigger.ToggleEmoteShortcut2:
 6051235                    InputProcessor.FromKey(action, KeyCode.Alpha2, modifiers: InputProcessor.Modifier.FocusNotInInput, m
 6051236                    break;
 237                case DCLAction_Trigger.ToggleEmoteShortcut3:
 6051238                    InputProcessor.FromKey(action, KeyCode.Alpha3, modifiers: InputProcessor.Modifier.FocusNotInInput, m
 6051239                    break;
 240                case DCLAction_Trigger.ToggleEmoteShortcut4:
 6051241                    InputProcessor.FromKey(action, KeyCode.Alpha4, modifiers: InputProcessor.Modifier.FocusNotInInput, m
 6051242                    break;
 243                case DCLAction_Trigger.ToggleEmoteShortcut5:
 6051244                    InputProcessor.FromKey(action, KeyCode.Alpha5, modifiers: InputProcessor.Modifier.FocusNotInInput, m
 6051245                    break;
 246                case DCLAction_Trigger.ToggleEmoteShortcut6:
 6051247                    InputProcessor.FromKey(action, KeyCode.Alpha6, modifiers: InputProcessor.Modifier.FocusNotInInput, m
 6051248                    break;
 249                case DCLAction_Trigger.ToggleEmoteShortcut7:
 6051250                    InputProcessor.FromKey(action, KeyCode.Alpha7, modifiers: InputProcessor.Modifier.FocusNotInInput, m
 6051251                    break;
 252                case DCLAction_Trigger.ToggleEmoteShortcut8:
 6051253                    InputProcessor.FromKey(action, KeyCode.Alpha8, modifiers: InputProcessor.Modifier.FocusNotInInput, m
 6051254                    break;
 255                case DCLAction_Trigger.ToggleEmoteShortcut9:
 6051256                    InputProcessor.FromKey(action, KeyCode.Alpha9, modifiers: InputProcessor.Modifier.FocusNotInInput, m
 6051257                    break;
 258                case DCLAction_Trigger.ChatNextInHistory:
 6051259                    InputProcessor.FromKey(action, KeyCode.UpArrow, modifiers: InputProcessor.Modifier.OnlyWithInputFocu
 6051260                    break;
 261                case DCLAction_Trigger.ChatPreviousInHistory:
 6051262                    InputProcessor.FromKey(action, KeyCode.DownArrow, modifiers: InputProcessor.Modifier.OnlyWithInputFo
 6051263                    break;
 264                case DCLAction_Trigger.ChatMentionNextEntry:
 6051265                    InputProcessor.FromKey(action, KeyCode.DownArrow, modifiers: InputProcessor.Modifier.NotInStartMenu)
 6051266                    break;
 267                case DCLAction_Trigger.ChatMentionPreviousEntry:
 6051268                    InputProcessor.FromKey(action, KeyCode.UpArrow, modifiers: InputProcessor.Modifier.NotInStartMenu);
 6051269                    break;
 270                case DCLAction_Trigger.Expression_Wave:
 6051271                    InputProcessor.FromKey(action, KeyCode.Alpha1, modifiers: InputProcessor.Modifier.FocusNotInInput | 
 6051272                    break;
 273                case DCLAction_Trigger.Expression_FistPump:
 6051274                    InputProcessor.FromKey(action, KeyCode.Alpha2, modifiers: InputProcessor.Modifier.FocusNotInInput | 
 6051275                    break;
 276                case DCLAction_Trigger.Expression_Robot:
 6051277                    InputProcessor.FromKey(action, KeyCode.Alpha3, modifiers: InputProcessor.Modifier.FocusNotInInput | 
 6051278                    break;
 279                case DCLAction_Trigger.Expression_RaiseHand:
 6051280                    InputProcessor.FromKey(action, KeyCode.Alpha4, modifiers: InputProcessor.Modifier.FocusNotInInput | 
 6051281                    break;
 282                case DCLAction_Trigger.Expression_Clap:
 6051283                    InputProcessor.FromKey(action, KeyCode.Alpha5, modifiers: InputProcessor.Modifier.FocusNotInInput | 
 6051284                    break;
 285                case DCLAction_Trigger.Expression_ThrowMoney:
 6051286                    InputProcessor.FromKey(action, KeyCode.Alpha6, modifiers: InputProcessor.Modifier.FocusNotInInput | 
 6051287                    break;
 288                case DCLAction_Trigger.Expression_SendKiss:
 6051289                    InputProcessor.FromKey(action, KeyCode.Alpha7, modifiers: InputProcessor.Modifier.FocusNotInInput | 
 6051290                    break;
 291                case DCLAction_Trigger.ToggleVoiceChatRecording:
 6051292                    InputProcessor.FromKey(action, KeyCode.T, modifiers: InputProcessor.Modifier.FocusNotInInput, modifi
 6051293                    break;
 294                case DCLAction_Trigger.ToggleAvatarEditorHud:
 6051295                    InputProcessor.FromKey(action, KeyCode.I, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051296                    break;
 297                case DCLAction_Trigger.ToggleQuestsPanelHud:
 6051298                    InputProcessor.FromKey(action, KeyCode.J, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051299                    break;
 300                case DCLAction_Trigger.ToggleAvatarNamesHud:
 6051301                    InputProcessor.FromKey(action, KeyCode.N, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051302                    break;
 303                case DCLAction_Trigger.ToggleCameraReelSection:
 6051304                    InputProcessor.FromKey(action, KeyCode.K, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051305                    break;
 306                case DCLAction_Trigger.ToggleScreenshotCamera:
 6051307                    InputProcessor.FromKey(action, KeyCode.C, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051308                    break;
 309                case DCLAction_Trigger.ToggleScreenshotCameraHUD:
 6051310                    InputProcessor.FromKey(action, KeyCode.U, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051311                    break;
 312                case DCLAction_Trigger.CloseScreenshotCamera:
 6051313                    if (!DataStore.i.common.isSignUpFlow.Get())
 6051314                        InputProcessor.FromKey(action, KeyCode.Escape, modifiers: InputProcessor.Modifier.None);
 6051315                    break;
 316
 317                case DCLAction_Trigger.TakeScreenshot:
 6051318                    InputProcessor.FromKey(action, KeyCode.E, modifiers: InputProcessor.Modifier.FocusNotInInput);
 6051319                    break;
 320                default:
 0321                    throw new ArgumentOutOfRangeException();
 322            }
 323        }
 6051324    }
 325
 326    /// <summary>
 327    /// Map the hold actions to inputs + modifiers and check if their events must be triggered
 328    /// </summary>
 329    private void Update_Hold(InputAction_Hold[] holdActions)
 330    {
 217836331        foreach (var action in holdActions)
 332        {
 102867333            if (action.isHoldBlocked != null && action.isHoldBlocked.Get())
 334                continue;
 335
 102867336            switch (action.DCLAction)
 337            {
 338                case DCLAction_Hold.Sprint:
 6051339                    InputProcessor.FromKey(action, InputSettings.WalkButtonKeyCode,
 340                        InputProcessor.Modifier.FocusNotInInput | InputProcessor.Modifier.NotInStartMenu);
 6051341                    break;
 342                case DCLAction_Hold.Jump:
 6051343                    InputProcessor.FromKey(action, InputSettings.JumpButtonKeyCode,
 344                        InputProcessor.Modifier.FocusNotInInput | InputProcessor.Modifier.NotInStartMenu);
 6051345                    break;
 346                case DCLAction_Hold.ZoomIn:
 6051347                    InputProcessor.FromKey(action, KeyCode.KeypadPlus);
 6051348                    InputProcessor.FromKey(action, KeyCode.Plus);
 6051349                    break;
 350                case DCLAction_Hold.ZoomOut:
 6051351                    InputProcessor.FromKey(action, KeyCode.KeypadMinus);
 6051352                    InputProcessor.FromKey(action, KeyCode.Minus);
 6051353                    break;
 354                case DCLAction_Hold.FreeCameraMode:
 355                    // Disable until the fine-tuning is ready
 6051356                    if (ENABLE_THIRD_PERSON_CAMERA)
 6051357                        InputProcessor.FromKey(action, KeyCode.Y, InputProcessor.Modifier.NeedsPointerLocked);
 6051358                    break;
 359                case DCLAction_Hold.VoiceChatRecording:
 360                    // Push to talk functionality only triggers if no modifier key is pressed
 12102361                    InputProcessor.FromKey(action, KeyCode.T, InputProcessor.Modifier.FocusNotInInput, null);
 12102362                    break;
 363                case DCLAction_Hold.DefaultConfirmAction:
 6051364                    InputProcessor.FromKey(action, KeyCode.E);
 6051365                    break;
 366                case DCLAction_Hold.DefaultCancelAction:
 6051367                    InputProcessor.FromKey(action, KeyCode.F);
 6051368                    break;
 369                case DCLAction_Hold.ScreenshotCameraDown:
 6051370                    InputProcessor.FromKey(action, KeyCode.F);
 6051371                    break;
 372                case DCLAction_Hold.ScreenshotCameraUp:
 6051373                    InputProcessor.FromKey(action, KeyCode.R);
 6051374                    break;
 375                case DCLAction_Hold.ScreenshotCameraRollLeft:
 6051376                    InputProcessor.FromKey(action, KeyCode.Z);
 6051377                    break;
 378                case DCLAction_Hold.ScreenshotCameraRollRight:
 6051379                    InputProcessor.FromKey(action, KeyCode.X);
 6051380                    break;
 381                case DCLAction_Hold.OpenExpressions:
 6051382                    InputProcessor.FromKey(action, KeyCode.B, InputProcessor.Modifier.FocusNotInInput);
 6051383                    break;
 384                case DCLAction_Hold.MouseFirstClick:
 6051385                    InputProcessor.FromMouse(action, 0);
 6051386                    break;
 387                case DCLAction_Hold.MouseSecondClick:
 6051388                    InputProcessor.FromMouse(action, 1);
 6051389                    break;
 390                case DCLAction_Hold.MouseMiddleClick:
 6051391                    InputProcessor.FromMouse(action, 2);
 6051392                    break;
 393                default:
 0394                    throw new ArgumentOutOfRangeException();
 395            }
 396        }
 6051397    }
 398
 399    /// <summary>
 400    /// Map the measurable actions to inputs + modifiers and check if their events must be triggered
 401    /// </summary>
 402    private void Update_Measurable(InputAction_Measurable[] measurableActions)
 403    {
 121020404        foreach (var action in measurableActions)
 405        {
 54459406            if (action.isMeasurableBlocked != null && action.isMeasurableBlocked.Get())
 407                continue;
 408
 54459409            switch (action.DCLAction)
 410            {
 411                case DCLAction_Measurable.CharacterXAxis:
 6051412                    InputProcessor.FromAxis(action, "Horizontal", InputProcessor.Modifier.FocusNotInInput | InputProcess
 6051413                    break;
 414                case DCLAction_Measurable.CharacterYAxis:
 6051415                    InputProcessor.FromAxis(action, "Vertical", InputProcessor.Modifier.FocusNotInInput | InputProcessor
 6051416                    break;
 417                case DCLAction_Measurable.CameraXAxis:
 6051418                    InputProcessor.FromAxis(action, "Mouse X", InputProcessor.Modifier.NeedsPointerLocked);
 6051419                    break;
 420                case DCLAction_Measurable.CameraYAxis:
 6051421                    InputProcessor.FromAxis(action, "Mouse Y", InputProcessor.Modifier.NeedsPointerLocked);
 6051422                    break;
 423                case DCLAction_Measurable.MouseWheel:
 6051424                    InputProcessor.FromAxis(action, "Mouse ScrollWheel", modifiers: InputProcessor.Modifier.FocusNotInIn
 6051425                    break;
 426
 427                case DCLAction_Measurable.ScreenshotCameraXTranslationAxis:
 6051428                    InputProcessor.FromAxis(action, "Horizontal", InputProcessor.Modifier.FocusNotInInput);
 6051429                    break;
 430                case DCLAction_Measurable.ScreenshotCameraYTranslationAxis:
 6051431                    InputProcessor.FromAxis(action, "Vertical", InputProcessor.Modifier.FocusNotInInput);
 6051432                    break;
 433                case DCLAction_Measurable.ScreenshotCameraXRotationAxis:
 6051434                    InputProcessor.FromAxis(action, "Mouse X", InputProcessor.Modifier.FocusNotInInput);
 6051435                    break;
 436                case DCLAction_Measurable.ScreenshotCameraYRotationAxis:
 6051437                    InputProcessor.FromAxis(action, "Mouse Y", InputProcessor.Modifier.FocusNotInInput);
 6051438                    break;
 439
 440                default:
 0441                    throw new ArgumentOutOfRangeException();
 442            }
 443        }
 6051444    }
 445
 446    private static void Stop_Measurable(InputAction_Measurable[] measurableActions)
 447    {
 0448        foreach (var action in measurableActions)
 0449            action.SetValue(0);
 0450    }
 451}