Задать вопрос
@xJastlx

Что делать если работоспособность кода зависит от того открыт ли объект со скриптом в инспекторе?

Если объект на котором лежит данный скрипт с методом хоть раз был открыт в инспекторе, то все прекрасно работает, в обратном случае выдает ошибку "NullReferenceException: Object reference not set to an instance of an object"
В данном случае в инспекторе открыт объект(Main Camera) со скриптом в котором нужный метод, поэтому все сработало
629fabb68afb3521810713.jpeg
В данном случае объект "Main Camera" не был открыт ни разу с момента запуска игры
629fac5b30b5b814224594.jpeg
Согласен, бред, но все же это действительно так, пробовал много раз при разных условиях, но все зависит только от инспектора

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;

public class SearchRoad : MonoBehaviour
{
    public Cell23[] cells = new Cell23[0];
    public void Update()
    {
        Array.Resize(ref cells, 20);
    }
    private void SaveDataCell23(int num, int vector, int number, float minPath) //этот метод выдает ошибку
    {
        cells[num].vector = vector;  //ошибка во всех трех строках
        cells[num].number = number;
        cells[num].minPath = minPath;
    }
}
[System.Serializable]
public class Cell23
{
    public int vector = 0;
    public int number = 0;
    public float minPath = 999999;
}
  • Вопрос задан
  • 52 просмотра
Подписаться 1 Средний 6 комментариев
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Software-testing.ru
    Программирование на C# для тестировщиков
    10 недель
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы