< Summary

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

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
InputManager()0%2100%
Awake()0%6200%
Start()0%2100%
Update()0%2100%
HandleMouseInput()0%12300%
HandleInput()0%6200%
HandleScrollWheelInput()0%6200%
HandleLockableInput()0%1821300%
HandleNonLockableInput()0%3061700%

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 {
 07  public static InputManager Instance { get; private set; }
 8
 09  public bool mouseActive = true;
 10  [System.Serializable]
 11  public struct CameraPreset {
 12    public Vector3 position;
 13    public Quaternion rotation;
 14  }
 15
 016  public bool lockUserInput = false;
 17
 018  private void Awake() {
 019    if (Instance == null) {
 020      Instance = this;
 021      DontDestroyOnLoad(gameObject);
 022    } else {
 023      Destroy(gameObject);
 024    }
 025  }
 26
 27  // Start is called before the first frame update
 028  void Start() {}
 29
 30  // Update is called once per frame
 031  void Update() {
 032    HandleInput();
 033  }
 34
 035  private void HandleMouseInput() {
 036    if (Input.GetMouseButton(0)) {
 037      CameraController.Instance.OrbitCamera(Input.GetAxis("Mouse X"), Input.GetAxis("Mouse Y"));
 38
 039    } else if (Input.GetMouseButton(1)) {
 040      CameraController.Instance.RotateCamera(Input.GetAxis("Mouse X"), Input.GetAxis("Mouse Y"));
 041    }
 042  }
 43
 044  private void HandleInput() {
 045    if (!lockUserInput) {
 046      HandleLockableInput();
 047    }
 048    HandleNonLockableInput();
 049  }
 50
 051  void HandleScrollWheelInput() {
 052    if (Input.GetAxis("Mouse ScrollWheel") != 0) {
 053      CameraController.Instance.ZoomCamera(Input.GetAxis("Mouse ScrollWheel") * 500);
 054    }
 055  }
 56
 057  void HandleLockableInput() {
 058    if (mouseActive) {
 059      HandleMouseInput();
 060      HandleScrollWheelInput();
 061    }
 62
 063    if (Input.GetKey(KeyCode.LeftShift)) {
 064      CameraController.Instance.SetCameraSpeed(CameraController.Instance.GetCameraSpeedMax());
 065    } else {
 066      CameraController.Instance.SetCameraSpeed(CameraController.Instance.GetCameraSpeedNormal());
 067    }
 68
 69    // TRANSLATIONAL MOVEMENT
 070    if (Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.UpArrow)) {
 071      CameraController.Instance.TranslateCamera(CameraController.TranslationInput.Forward);
 072    }
 073    if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow)) {
 074      CameraController.Instance.TranslateCamera(CameraController.TranslationInput.Left);
 075    }
 076    if (Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.DownArrow)) {
 077      CameraController.Instance.TranslateCamera(CameraController.TranslationInput.Back);
 078    }
 079    if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow)) {
 080      CameraController.Instance.TranslateCamera(CameraController.TranslationInput.Right);
 081    }
 082    if (Input.GetKey(KeyCode.Q)) {
 083      CameraController.Instance.TranslateCamera(CameraController.TranslationInput.Up);
 084    }
 085    if (Input.GetKey(KeyCode.E)) {
 086      CameraController.Instance.TranslateCamera(CameraController.TranslationInput.Down);
 087    }
 088  }
 89
 090  void HandleNonLockableInput() {
 091    if (Input.GetKeyDown(KeyCode.Escape)) {
 092      Application.Quit();
 093    }
 94
 095    if (Input.GetKeyDown(KeyCode.C)) {
 096    }
 97
 098    if (Input.GetKeyDown(KeyCode.R)) {
 099      SimManager.Instance.RestartSimulation();
 0100    }
 101
 0102    if (Input.GetKeyDown(KeyCode.L))  // 'L' for Load
 0103    {
 0104      UIManager.Instance.ToggleConfigSelectorPanel();
 0105    }
 106
 0107    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
 0116    if (Input.GetKeyDown(KeyCode.P)) {
 0117      CameraController.Instance.SetAutoRotate(!CameraController.Instance.IsAutoRotate());
 0118    }
 119
 0120    if (Input.GetKeyDown(KeyCode.Alpha1)) {
 0121      if (Input.GetKey(KeyCode.LeftControl)) {
 0122        CameraController.Instance.FollowNextInterceptorSwarm();
 0123      } else {
 0124        CameraController.Instance.SnapToNextInterceptorSwarm();
 0125      }
 0126    }
 127
 0128    if (Input.GetKeyDown(KeyCode.Alpha2)) {
 0129      if (Input.GetKey(KeyCode.LeftControl)) {
 0130        CameraController.Instance.FollowNextThreatSwarm();
 0131      } else {
 0132        CameraController.Instance.SnapToNextThreatSwarm();
 0133      }
 0134    }
 135
 0136    if (Input.GetKeyDown(KeyCode.Alpha3)) {
 0137      if (Input.GetKey(KeyCode.LeftControl)) {
 0138        CameraController.Instance.FollowCenterAllAgents();
 0139      } else {
 0140        CameraController.Instance.SnapToCenterAllAgents();
 0141      }
 0142    }
 143
 0144    if (Input.GetKeyDown(KeyCode.Alpha4)) {
 145      // Set pre-set view 4
 0146    }
 147
 0148    if (Input.GetKeyDown(KeyCode.Alpha5)) {
 149      // Set pre-set view 5
 0150    }
 151
 0152    if (Input.GetKeyDown(KeyCode.Alpha6)) {
 153      // Set pre-set view 6
 0154    }
 0155  }
 156}