< Summary

Class:InputManager
Assembly:bamlab.micromissiles
File(s):/github/workspace/Assets/Scripts/Managers/InputManager.cs
Covered lines:56
Uncovered lines:57
Coverable lines:113
Total lines:156
Line coverage:49.5% (56 of 113)
Covered branches:0
Total branches:0
Covered methods:11
Total methods:11
Method coverage:100% (11 of 11)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
InputManager()0%110100%
Awake()0%2.112070%
Start()0%110100%
Update()0%110100%
HandleMouseInput()0%4.943040%
HandleInput()0%220100%
HandleScrollWheelInput()0%2.52050%
HandleLockableInput()0%41.5213044.74%
HandleNonLockableInput()0%164.9717020%

File(s)

/github/workspace/Assets/Scripts/Managers/InputManager.cs

#LineLine coverage
 1using System.Collections;
 2using System.Collections.Generic;
 3using UnityEngine;
 4using System.Linq;
 5
 6public class InputManager : MonoBehaviour {
 27  public static InputManager Instance { get; private set; }
 8
 29  public bool mouseActive = true;
 10  [System.Serializable]
 11  public struct CameraPreset {
 12    public Vector3 position;
 13    public Quaternion rotation;
 14  }
 15
 216  public bool lockUserInput = false;
 17
 118  private void Awake() {
 219    if (Instance == null) {
 120      Instance = this;
 121      DontDestroyOnLoad(gameObject);
 122    } else {
 023      Destroy(gameObject);
 024    }
 125  }
 26
 27  // Start is called before the first frame update
 228  void Start() {}
 29
 30  // Update is called once per frame
 531  void Update() {
 532    HandleInput();
 533  }
 34
 535  private void HandleMouseInput() {
 536    if (Input.GetMouseButton(0)) {
 037      CameraController.Instance.OrbitCamera(Input.GetAxis("Mouse X"), Input.GetAxis("Mouse Y"));
 38
 539    } else if (Input.GetMouseButton(1)) {
 040      CameraController.Instance.RotateCamera(Input.GetAxis("Mouse X"), Input.GetAxis("Mouse Y"));
 041    }
 542  }
 43
 544  private void HandleInput() {
 1045    if (!lockUserInput) {
 546      HandleLockableInput();
 547    }
 548    HandleNonLockableInput();
 549  }
 50
 551  void HandleScrollWheelInput() {
 552    if (Input.GetAxis("Mouse ScrollWheel") != 0) {
 053      CameraController.Instance.ZoomCamera(Input.GetAxis("Mouse ScrollWheel") * 500);
 054    }
 555  }
 56
 557  void HandleLockableInput() {
 1058    if (mouseActive) {
 559      HandleMouseInput();
 560      HandleScrollWheelInput();
 561    }
 62
 563    if (Input.GetKey(KeyCode.LeftShift)) {
 064      CameraController.Instance.SetCameraSpeed(CameraController.Instance.GetCameraSpeedMax());
 565    } else {
 566      CameraController.Instance.SetCameraSpeed(CameraController.Instance.GetCameraSpeedNormal());
 567    }
 68
 69    // TRANSLATIONAL MOVEMENT
 570    if (Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.UpArrow)) {
 071      CameraController.Instance.TranslateCamera(CameraController.TranslationInput.Forward);
 072    }
 573    if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow)) {
 074      CameraController.Instance.TranslateCamera(CameraController.TranslationInput.Left);
 075    }
 576    if (Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.DownArrow)) {
 077      CameraController.Instance.TranslateCamera(CameraController.TranslationInput.Back);
 078    }
 579    if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow)) {
 080      CameraController.Instance.TranslateCamera(CameraController.TranslationInput.Right);
 081    }
 582    if (Input.GetKey(KeyCode.Q)) {
 083      CameraController.Instance.TranslateCamera(CameraController.TranslationInput.Up);
 084    }
 585    if (Input.GetKey(KeyCode.E)) {
 086      CameraController.Instance.TranslateCamera(CameraController.TranslationInput.Down);
 087    }
 588  }
 89
 590  void HandleNonLockableInput() {
 591    if (Input.GetKeyDown(KeyCode.Escape)) {
 092      Application.Quit();
 093    }
 94
 595    if (Input.GetKeyDown(KeyCode.C)) {
 096    }
 97
 598    if (Input.GetKeyDown(KeyCode.R)) {
 099      SimManager.Instance.RestartSimulation();
 0100    }
 101
 5102    if (Input.GetKeyDown(KeyCode.L))  // 'L' for Load
 0103    {
 0104      UIManager.Instance.ToggleConfigSelectorPanel();
 0105    }
 106
 5107    if (Input.GetKeyDown(KeyCode.Space)) {
 108      // Pause the time
 0109      if (!SimManager.Instance.IsSimulationPaused()) {
 0110        SimManager.Instance.PauseSimulation();
 0111      } else {
 0112        SimManager.Instance.ResumeSimulation();
 0113      }
 0114    }
 115
 5116    if (Input.GetKeyDown(KeyCode.P)) {
 0117      CameraController.Instance.SetAutoRotate(!CameraController.Instance.IsAutoRotate());
 0118    }
 119
 5120    if (Input.GetKeyDown(KeyCode.Alpha1)) {
 0121      if (Input.GetKey(KeyCode.LeftControl)) {
 0122        CameraController.Instance.FollowNextInterceptorSwarm();
 0123      } else {
 0124        CameraController.Instance.SnapToNextInterceptorSwarm();
 0125      }
 0126    }
 127
 5128    if (Input.GetKeyDown(KeyCode.Alpha2)) {
 0129      if (Input.GetKey(KeyCode.LeftControl)) {
 0130        CameraController.Instance.FollowNextThreatSwarm();
 0131      } else {
 0132        CameraController.Instance.SnapToNextThreatSwarm();
 0133      }
 0134    }
 135
 5136    if (Input.GetKeyDown(KeyCode.Alpha3)) {
 0137      if (Input.GetKey(KeyCode.LeftControl)) {
 0138        CameraController.Instance.FollowCenterAllAgents();
 0139      } else {
 0140        CameraController.Instance.SnapToCenterAllAgents();
 0141      }
 0142    }
 143
 5144    if (Input.GetKeyDown(KeyCode.Alpha4)) {
 145      // Set pre-set view 4
 0146    }
 147
 5148    if (Input.GetKeyDown(KeyCode.Alpha5)) {
 149      // Set pre-set view 5
 0150    }
 151
 5152    if (Input.GetKeyDown(KeyCode.Alpha6)) {
 153      // Set pre-set view 6
 0154    }
 5155  }
 156}