SmartBowController.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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) {
  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. if (Time.realtimeSinceStartup - _lastShootTime < 1) return;
  48. _lastShootTime = Time.realtimeSinceStartup;
  49. GameManager.Instance?.OnModuleShooting(speed,true);
  50. }
  51. public void ResetAim() {
  52. // AimHandler.ins.DoIdentity();
  53. AutoResetView.DoIdentity();
  54. }
  55. }
  56. }