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

Как использовать класс в редакторе?

У меня есть префаб к которому прикреплен класс допустим Test, дабы его редактировать в реальном времени я его добавил в редактор
using UnityEditor;
using UnityEngine;
[CustomEditor(typeof(Test))]
public class TestEditor : Editor{
    public override void OnInspectorGUI(){
        base.DrawDefaultInspector();
        Test re = (Test)target;
        re.TestMethod();
..................................
        }
    }

Все работает пока я не использую в классе другой класс, например
using UnityEngine;
public class Test: MonoBehaviour{
  public void TestMethod(){
    if(VarA < DataStorage.instance.SomeVar){ .....

Так то все работает а вот при редактировании выдаёт ошибку мол "DataStorage кто такой не знаю...".
Подскажите как его в редакторе применять?
  • Вопрос задан
  • 49 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Профессия Инженер
по тестированию
    10 месяцев
    Далее
  • Нетология
    Разработчик игр на Unity
    13 месяцев
    Далее
  • XYZ School
    Разработка игр на Unity
    5 месяцев
    Далее
Решения вопроса 1
@pashara
Zefirot, ошибка - nullref. Объекта не существует в редакторе, т.к. DataStorage.instance заполняется в Awake (который, в свою очередь. в режиме редактрирования не отработает так, как хочется).
Нужно писать кастомные скрипты для редактора, которые данные для UI будут доставать другим образом (грузить данные из файла по пути, например)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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