using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.Rendering.Universal;
public class OcclusionManager : MonoBehaviour {
[SerializeField] private bool occludeLights = true;
[SerializeField] private List<Light2D> lights = new();
private Transform _transform;
private void Awake()
{
_transform = transform;
//Get lights
if(occludeLights)
lights = FindObjectsOfType<Light2D>().Select(a => a.GetComponent<Light2D>()).ToList();
}
void Update() {
if (occludeLights)
{
foreach (Light2D light in lights)
{
if (light.lightType != Light2D.LightType.Global)
{
if ((_transform.position - light.transform.position).sqrMagnitude > gameData.LightOcclusionDistance * gameData.LightOcclusionDistance)
light.enabled = false;
else
light.enabled = true;
}
}
}
}
}






