using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class PlayerScanning : MonoBehaviour { public int scanningRange; private List<GameObject> markers = new List<GameObject>(); private SphereCollider sphere; private void Awake() { foreach (GameObject marker in GameObject.FindGameObjectsWithTag("Enemy Marker")) { markers.Add(marker); } sphere = GetComponent<SphereCollider>(); sphere.radius = scanningRange; } private void OnTriggerEnter(Collider other) { if (other.gameObject.tag == "Enemy") { GameObject targetEnemy = other.gameObject; for (int i = 0; i < markers.Count; i++) { if (markers[i].GetComponent<Marker>().GetCurrentObj() == targetEnemy) { markers[i].GetComponent<Image>().enabled = true; markers[i].GetComponent<Marker>().SetMarkerEnabled(true); } } } } private void OnTriggerExit(Collider other) { if (other.gameObject.tag == "Enemy") { GameObject targetEnemy = other.gameObject; for (int i = 0; i < markers.Count; i++) { if (markers[i].GetComponent<Marker>().GetCurrentObj() == targetEnemy) { markers[i].GetComponent<Image>().enabled = false; markers[i].GetComponent<Marker>().SetMarkerEnabled(false); } } } } public void UpdateScanRange(int newRange) { scanningRange = newRange; sphere.radius = scanningRange; } }