Unity3D.ru • Ошибка при вызове статического метода из публичного класса

Ошибка при вызове статического метода из публичного класса

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Ошибка при вызове статического метода из публичного класса

Сообщение Hasuni 13 июн 2018, 20:39

Добрый вечер, уважаемые знатоки!
-.- Уже долго-долго пытаюсь понять, что не так...

При срабатывании триггера должно запуститься:
Синтаксис:
Используется csharp
DialogueTrigger tr = this.GetComponentInParent<DialogueTrigger> ();
      Debug.Log (tr.fileName); //Тут окей
      if(tr != null && tr.fileName != string.Empty)
      {
       DialogueManager.GetInternal.DialogueStart(tr.fileName); //Ошибка тут =(
      }

Триггер срабатывает, tr.fileName выводится, но насчет DialogueManager.GetInternal.DialogueStart(tr.fileName); пишет следующую ошибку:
NullReferenceException: Object reference not set to an instance of an object

Кусочек из класса DialogueManager:

Синтаксис:
Используется csharp
private static DialogueManager _internal;

public void DialogueStart(string name)
    {
  if(name == string.Empty) return;
  fileName = name;
  Load();
    }

    public static DialogueManager GetInternal
    {
  get{ return _internal; }
    }
 


Спасите-помогите Т.т
Hasuni
UNец
 
Сообщения: 5
Зарегистрирован: 11 июн 2018, 20:11

Re: Ошибка при вызове статического метода из публичного класса

Сообщение 1max1 13 июн 2018, 20:47

Ну здрасте, а где ссылка на экземпляр _internal?
_internal = new DialogueManager();
или же в Awake или конструкторе, если это монобех
_internal = this;
Аватара пользователя
1max1
Адепт
 
Сообщения: 1152
Зарегистрирован: 28 июн 2017, 10:51

Re: Ошибка при вызове статического метода из публичного класса

Сообщение Hasuni 13 июн 2018, 20:52

В DialogueManager :

Синтаксис:
Используется csharp
void Awake()
    {
  _internal = this;
  button.gameObject.SetActive(false);
  scrollRect.gameObject.SetActive(false);
    }
Hasuni
UNец
 
Сообщения: 5
Зарегистрирован: 11 июн 2018, 20:11

Re: Ошибка при вызове статического метода из публичного класса

Сообщение Hasuni 13 июн 2018, 21:03

А, все, нашла ошибку)
Hasuni
UNец
 
Сообщения: 5
Зарегистрирован: 11 июн 2018, 20:11

Re: Ошибка при вызове статического метода из публичного класса

Сообщение 1max1 13 июн 2018, 21:05

Надеюсь что твой монобех висит на какой-то пустышке в сцене в тот момент, когда вызывается метод, еще хотелось бы знать не причастен ли метод Load();
Еще возможно теоретически, хотя и маловероятно, что метод вызывается еще до срабатывания метода авейк в классе.

пс, мои поздравления)
Аватара пользователя
1max1
Адепт
 
Сообщения: 1152
Зарегистрирован: 28 июн 2017, 10:51


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: ElmarGod, Google [Bot], Yandex [Bot] и гости: 18