SmartBowController.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. namespace DuckHunter
  6. {
  7. public class SmartBowController : MonoBehaviour
  8. {
  9. public static SmartBowController Instance;
  10. void Start() {
  11. Instance = this;
  12. SimulateMouseController.ins?.RemoveOpenLocker("NotGame");
  13. //InfraredDemo.running
  14. if (AimHandler.ins) {
  15. InfraredDemo.infraredCameraHelper.OnPositionUpdate += OnVec2PositionUpdate;
  16. //if (!AimHandler.ins.bRuning9Axis())
  17. //{
  18. // InfraredDemo.infraredCameraHelper.OnPositionUpdate += OnVec2PositionUpdate;
  19. //}
  20. //else CameraToLook.ins.onParseRotation += OnRotationUpdate;
  21. }
  22. }
  23. void OnDestroy() {
  24. if (Instance == this) Instance = null;
  25. //destroy
  26. if (AimHandler.ins)
  27. {
  28. InfraredDemo.infraredCameraHelper.OnPositionUpdate -= OnVec2PositionUpdate;
  29. //if (!AimHandler.ins.bRuning9Axis())
  30. //{
  31. // InfraredDemo.infraredCameraHelper.OnPositionUpdate -= OnVec2PositionUpdate;
  32. //}
  33. //else CameraToLook.ins.onParseRotation -= OnRotationUpdate;
  34. }
  35. }
  36. public void OnRotationUpdate(Quaternion rotation)
  37. {
  38. GameManager.Instance?.OnModuleRotationUpdate(rotation);
  39. }
  40. public void OnVec2PositionUpdate(Vector2 p, Vector2 cameraLocation) {
  41. if (CrossHair.Instance) CrossHair.Instance.transform.position = p;
  42. }
  43. float _lastShootTime = 0;
  44. public void OnShooting(float speed)
  45. {
  46. if (Time.time == 0) return;
  47. //野鸭间隔时间
  48. float interval = GlobalData.MyDeviceMode == DeviceMode.Gun?0.2f:1f;
  49. if (Time.realtimeSinceStartup - _lastShootTime < interval) return;
  50. _lastShootTime = Time.realtimeSinceStartup;
  51. GameManager.Instance?.OnModuleShooting(speed,true);
  52. }
  53. public void ResetAim() {
  54. // AimHandler.ins.DoIdentity();
  55. AutoResetView.DoIdentity();
  56. }
  57. }
  58. }