using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace WildAttack { public class SmartBowController : MonoBehaviour { public static SmartBowController Instance; void Start() { Instance = this; SimulateMouseController.ins?.RemoveOpenLocker("NotGame"); InfraredDemo.infraredCameraHelper.OnPositionUpdate += OnScreenPointUpdate; StartCoroutine(SetOutBoundChecker()); } IEnumerator SetOutBoundChecker() { yield return null; CrossHairOutBoundChecker1 outBoundChecker = Instantiate(Resources.Load("Prefabs/CrossHairOutBoundChecker1")).GetComponent(); outBoundChecker.FetchOutBoundIndex = () => GameMananger.GetInstance().outBoundIndex; } void OnDestroy() { if (Instance == this) Instance = null; InfraredDemo.infraredCameraHelper.OnPositionUpdate -= OnScreenPointUpdate; } public void OnRotationUpdate(Quaternion rotation) { if (SB_EventSystem.ins.simulateMouseIsAwaked) return; GameMananger.GetInstance()?.OnRotationUpdate(rotation); } public void OnScreenPointUpdate(Vector2 point, Vector2 cameraLocation) { if (SB_EventSystem.ins.simulateMouseIsAwaked) return; GameMananger.GetInstance()?.OnScreenPointUpdate(point); } float _lastShootTime = 0; public void OnShooting(float speed) { if (Time.time == 0) return; if (Time.realtimeSinceStartup - _lastShootTime < 1) return; _lastShootTime = Time.realtimeSinceStartup; GameMananger.GetInstance().OnModuleShooting(speed); } public bool IsBluetoothModuleInited() { return BluetoothAim.ins && BluetoothAim.ins.status == BluetoothStatusEnum.ConnectSuccess; } } }