NullReferenceException при поиске с использованием GameObject.Find

60
09 января 2022, 22:40

Создал кнопку, которая при нажатии ищет панель Window (Delete). Снизу скрипт.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Actions : MonoBehaviour
{
    public void Delete()
    {
        //int id = gameObject.transform.parent.GetComponent<Id>().id;
        GameObject DeleteWindow = GameObject.Find("Window (Delete)");
        print(DeleteWindow);
        //DeleteWindow.GetComponent<Delete>().id = id;
        //DeleteWindow.SetActive(true);
    }
}

К моему удивлению результат возвращается пустым и из-за этого выскакивает ошибка

NullReferenceException: Object reference not set to an instance of an object

Скриншот тут и снизу.

Такие ошибки со мной начали встречаться часто. Наконец-то кто-нибудь подскажите мне - где моя ошибка?

Answer 1

GameObject.Find ищет только активные объекты. А у вас эта панель, судя по скрину, выключена.

Попробуйте искать с помощью Resources.FindObjectsOfTypeAll. Он вроде как и неактивные объекты тоже вернёт.

READ ALSO
Getting control 1&#39;s position in a group with only 1 controls when doing repaint (Unity)

Getting control 1's position in a group with only 1 controls when doing repaint (Unity)

Стал сталкиваться с такой вот ошибкой:

303
Как отправить изображение вместе с Html в C#

Как отправить изображение вместе с Html в C#

У меня есть WEB-сервер, созданный на C#, он основан на TcpListener и выглядит всё это так(работа с клиентом)

166
Как в Юнити 2D менять изображение?

Как в Юнити 2D менять изображение?

Во первых стоит сказать что я не очень хорош в C# и поэтому не исключаю что ответ довольно простойТем не менее, в игре которую я делаю, я хочу...

143