Невозможно отобразить элементы массива в инспекторе. Единство

Я хочу создать массив классов и увидеть все элементы этих классов в инспекторе.

У меня 2 скрипта. 1 - устанавливается в префаб и требует включения MonoBehaviour. 2 - скрипт, в котором я создаю массив, но в инспекторе я вижу только Element0, Element1 ... Когда я удаляю MonoBehaviour из 1-го скрипта, я могу видеть все элементы в инспекторе, но в этом случае это не так. работать с префабом ...

1-

[System.Serializable]
public class LevelSetup : MonoBehaviour
{

    public TextMeshProUGUI levelName;
    public Image levelImage;
    public bool locked;
    public GameObject Description;
    public string Text;


}

2-

public class LevelSpawn : MonoBehaviour
{
    public LevelSetup[] levels;

введите здесь описание изображения  введите описание изображения здесь

Хотите, чтобы отображался массив со всеми полями «LevelSetup» (которые являются общедоступными), но если я оставлю MonoBehaviour, и он отлично работает с префабом, он отобразит массив только с Element0, Element1 и т. Д. Спасибо!


person Vanfen    schedule 02.05.2019    source источник
comment
Инспектор по умолчанию показывает только содержимое переменной, которую вы перечисляете, если вы хотите увидеть свойства материала в массиве, вам нужно будет перезаписать инспектор и перечислить его, чтобы нарисовать их   -  person BugFinder    schedule 02.05.2019
comment
@BugFinder, но когда я удаляю MonoBehaviour, я могу видеть все (2-е фото). Почему?   -  person Vanfen    schedule 02.05.2019
comment
потому что моноповедение отличается от других классов   -  person BugFinder    schedule 02.05.2019


Ответы (1)


Когда вы помещаете поле, которое наследуется от MonoBehaviour, инспектор Unity ожидает объект с «Behavior», поэтому вы не можете назначать поля в инспекторе, потому что оно не интерпретируется как обычное поле.

Например, если вы устанавливаете Материал как поле и хотите изменить свойство цвета в инспекторе.

public Material mat; //This is actually a class

В инспекторе вы сможете только назначить материал, но вы не сможете получить доступ к классу и изменить цвет.

person DomCR    schedule 02.05.2019