Я рисую, используя LineRenderer, но я включаю и отключаю игровой объект, где скрипт находится в разное время.
При первом включении он отлично работает, после отключения и включения я получаю эту ошибку
IndexOutOfRangeException: индекс находился за пределами массива.
ошибка показывает эту строку кода
Vector2 touchPos = Camera.main.ScreenToWorldPoint(Input.touches[0].position);
Вот и весь код
public GameObject linePrefab;
private Line activeLine;
private void Update()
{
if (Input.touchCount > 0)
{
if (Input.GetTouch(0).phase == TouchPhase.Began)
{
GameObject lineGO = Instantiate(linePrefab);
activeLine = lineGO.GetComponent<Line>();
}
if (Input.GetTouch(0).phase == TouchPhase.Ended)
{
activeLine = null;
}
}
if (activeLine != null)
{
Vector2 touchPos = Camera.main.ScreenToWorldPoint(Input.touches[0].position);
activeLine.UpdateLine(touchPos);
}
}