Есть скрипт для зрения бота. Вопрос в том, что обьекты которые видит бот добавляются, но не убераются из этого списка. Как это можно сделать?
[SerializeField]
private float _seeRange;
[SerializeField]
private int _deviationRayFromCenter;
[SerializeField]
private List<GameObject> _objectsThatISee;
public List<GameObject> GetObjectThatISee()
{
return _objectsThatISee;
}
void Update()
{
for (float i = 0f; i < _deviationRayFromCenter;)
{
i += 0.1f;
Debug.DrawRay(transform.position, transform.forward + Vector3.right * i, Color.magenta, _seeRange);
Debug.DrawRay(transform.position, transform.forward + Vector3.left * i, Color.magenta, _seeRange);
SeeRaycast(Vector3.left, i);
SeeRaycast(Vector3.right, i);
}
}
private void SeeRaycast(Vector3 addVector, float addToVector)
{
RaycastHit hit;
if (Physics.Raycast(transform.position, transform.forward + addVector * addToVector, out hit, _seeRange))
{
foreach (GameObject _object in _objectsThatISee)
{
if (hit.collider.gameObject == _object)
{
return;
}
}
_objectsThatISee.Add(hit.collider.gameObject);
}
}