Понедельник, 15 Октября 2018, 18:13

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: beril  
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Ошибка при вызове статического метода из публичного класса (Требуется помощь Т.т)
Ошибка при вызове статического метода из публичного класса
HasuniДата: Среда, 13 Июня 2018, 20:35 | Сообщение # 1
был не раз
Сейчас нет на сайте
Добрый вечер, уважаемые знатоки!
-.- Уже долго-долго пытаюсь понять, что не так...

При срабатывании триггера должно запуститься:

Код
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:
Код
private static DialogueManager _internal;

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

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


Как можно тут спастись? -.-
drcrackДата: Среда, 13 Июня 2018, 20:38 | Сообщение # 2
почти ветеран
Сейчас нет на сайте
а где у тебя присваивается _internal? если судить по этим кускам кода, то он всегда остается null

Zeal — Инди PvP ARPG: https://gcup.ru/forum/9-98964-1
HasuniДата: Среда, 13 Июня 2018, 20:42 | Сообщение # 3
был не раз
Сейчас нет на сайте
В DialogueManager :

Код
void Awake()
    {
  _internal = this;
  button.gameObject.SetActive(false);
  scrollRect.gameObject.SetActive(false);
    }
drcrackДата: Среда, 13 Июня 2018, 20:59 | Сообщение # 4
почти ветеран
Сейчас нет на сайте
А DialogueManager точно присутствует на сцене и включен?
Я просто не вижу других вариантов откуда может взяться это ошибка, только неинициализированный _internal
Добавь Debug.Log в Awake

Но вообще тебе стоит как можно скорее поставить unity tools for visual studio и начать отлаживать нормально, в отладчике, а не через лог


Zeal — Инди PvP ARPG: https://gcup.ru/forum/9-98964-1

Сообщение отредактировал drcrack - Среда, 13 Июня 2018, 21:02
HasuniДата: Среда, 13 Июня 2018, 21:03 | Сообщение # 5
был не раз
Сейчас нет на сайте
О, нашлась ошибка.
Спасибо :3
Я думала, что внимательно посмотрела, ан нет...
Второй раз меня спасаете )
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Ошибка при вызове статического метода из публичного класса (Требуется помощь Т.т)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2018 Рейтинг