Unity 框架

DefaultInputDevice.cs 4.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. namespace TFramework
  5. {
  6. public class DefaultInputDevice : InputDeviceBase
  7. {
  8. /// <summary>
  9. /// UpperLower轴线值
  10. /// </summary>
  11. private float _upperLowerValue = 0;
  12. public override void OnRun()
  13. {
  14. if (Input.GetMouseButtonDown(0)) InputManager.SetV_KeyDown(InputKeyType.MouseLeft);
  15. else if (Input.GetMouseButtonUp(0)) InputManager.SetV_KeyUp(InputKeyType.MouseLeft);
  16. if (Input.GetMouseButtonDown(1)) InputManager.SetV_KeyDown(InputKeyType.MouseRight);
  17. else if (Input.GetMouseButtonUp(1)) InputManager.SetV_KeyUp(InputKeyType.MouseRight);
  18. if (Input.GetMouseButtonDown(2)) InputManager.SetV_KeyDown(InputKeyType.MouseMiddle);
  19. else if (Input.GetMouseButtonUp(2)) InputManager.SetV_KeyUp(InputKeyType.MouseMiddle);
  20. InputManager.SetV_Axis(InputAxisType.MouseX, Input.GetAxis("Mouse X"));
  21. InputManager.SetV_Axis(InputAxisType.MouseY, Input.GetAxis("Mouse Y"));
  22. InputManager.SetV_Axis(InputAxisType.MouseScrollWheel, Input.GetAxis("Mouse ScrollWheel"));
  23. InputManager.SetV_Axis(InputAxisType.Horizontal, Input.GetAxis("Horizontal"));
  24. InputManager.SetV_Axis(InputAxisType.Vertical, Input.GetAxis("Vertical"));
  25. if (Input.GetKey(KeyCode.Q)) _upperLowerValue -= Time.deltaTime;
  26. else if (Input.GetKey(KeyCode.E)) _upperLowerValue += Time.deltaTime;
  27. else _upperLowerValue = 0;
  28. InputManager.SetV_Axis(InputAxisType.UpperLower, Mathf.Clamp(_upperLowerValue, -1, 1));
  29. InputManager.SetVirtualMousePosition(Input.mousePosition);
  30. }
  31. public override void OnShutdown()
  32. {
  33. InputManager.RemoveV_Key(InputKeyType.MouseLeft);
  34. InputManager.RemoveV_Key(InputKeyType.MouseRight);
  35. InputManager.RemoveV_Key(InputKeyType.MouseMiddle);
  36. InputManager.RemoveV_Axis(InputAxisType.MouseX);
  37. InputManager.RemoveV_Axis(InputAxisType.MouseY);
  38. InputManager.RemoveV_Axis(InputAxisType.MouseScrollWheel);
  39. InputManager.RemoveV_Axis(InputAxisType.Horizontal);
  40. InputManager.RemoveV_Axis(InputAxisType.Vertical);
  41. InputManager.RemoveV_Axis(InputAxisType.UpperLower);
  42. }
  43. public override void OnStartUp()
  44. {
  45. InputManager.AddV_Key(InputKeyType.MouseLeft);
  46. InputManager.AddV_Key(InputKeyType.MouseRight);
  47. InputManager.AddV_Key(InputKeyType.MouseMiddle);
  48. InputManager.AddV_Axis(InputAxisType.MouseX);
  49. InputManager.AddV_Axis(InputAxisType.MouseY);
  50. InputManager.AddV_Axis(InputAxisType.MouseScrollWheel);
  51. InputManager.AddV_Axis(InputAxisType.Horizontal);
  52. InputManager.AddV_Axis(InputAxisType.Vertical);
  53. InputManager.AddV_Axis(InputAxisType.UpperLower);
  54. }
  55. }
  56. /// <summary>
  57. /// 输入轴线类型
  58. /// </summary>
  59. public static class InputAxisType
  60. {
  61. /// <summary>
  62. /// 鼠标X轴移动
  63. /// </summary>
  64. public static string MouseX = "MouseX";
  65. /// <summary>
  66. /// 鼠标Y轴移动
  67. /// </summary>
  68. public static string MouseY = "MouseY";
  69. /// <summary>
  70. /// 鼠标滚轮滚动
  71. /// </summary>
  72. public static string MouseScrollWheel = "MouseScrollWheel";
  73. /// <summary>
  74. /// 键盘水平输入
  75. /// </summary>
  76. public static string Horizontal = "Horizontal";
  77. /// <summary>
  78. /// 键盘垂直输入
  79. /// </summary>
  80. public static string Vertical = "Vertical";
  81. /// <summary>
  82. /// 键盘上下输入
  83. /// </summary>
  84. public static string UpperLower = "UpperLower";
  85. }
  86. /// <summary>
  87. /// 输入按键类型
  88. /// </summary>
  89. public static class InputKeyType
  90. {
  91. /// <summary>
  92. /// 鼠标左键
  93. /// </summary>
  94. public static string MouseLeft = "MouseLeft";
  95. /// <summary>
  96. /// 鼠标右键
  97. /// </summary>
  98. public static string MouseRight = "MouseRight";
  99. /// <summary>
  100. /// 鼠标中键
  101. /// </summary>
  102. public static string MouseMiddle = "MouseMiddle";
  103. }
  104. }