using System.Collections.Generic; using UnityEngine; using UnityEngine.Rendering; public class Tower : MonoBehaviour { public float range; [SerializeField] private LayerMask whatIsEnemy; private Collider[] collidersInRange; public List enemiesInRange = new List(); private float checkCounter; [SerializeField] private float checkTime = .2f; [HideInInspector] public bool enemiesUpdated; // Start is called once before the first execution of Update after the MonoBehaviour is created void Start() { checkCounter = checkTime; } // Update is called once per frame void Update() { enemiesUpdated = false; checkCounter -= Time.deltaTime; if (checkCounter <= 0f) { checkCounter = checkTime; collidersInRange = Physics.OverlapSphere(transform.position, range, whatIsEnemy); enemiesInRange.Clear(); foreach (Collider collider in collidersInRange) { if (collider.gameObject.GetComponent() != null) { enemiesInRange.Add(collider.GetComponent()); } } enemiesUpdated = true; } } }