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 кто такой не знаю...".
Подскажите как его в редакторе применять?
  • Вопрос задан
  • 41 просмотр
Решения вопроса 1
@pashara
Zefirot, ошибка - nullref. Объекта не существует в редакторе, т.к. DataStorage.instance заполняется в Awake (который, в свою очередь. в режиме редактрирования не отработает так, как хочется).
Нужно писать кастомные скрипты для редактора, которые данные для UI будут доставать другим образом (грузить данные из файла по пути, например)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы