Я просто новичок в сериализации, и у меня возник вопрос, почему открытый массив пользовательского класса не отображается в инспекторе.
скажем, у меня есть код вроде follow
using UnityEngine;
using System.Collections;
public class A:MonoBehaviour{
public B b;
public C[] c= new C[3];
public D d;
public E[] e;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
}
[System.Serializable]
public class D
{
}
// Same goes for this you can remove monobehaviour
[System.Serializable]
public class E
{
}
Я обнаружил, что переменная 'b' находится в Инспекторе в единстве, но я не смог найти, где находится 'c'.
https://docs.unity3d.com/ScriptReference/SerializeField.html
Насколько я знаю, мне не нужно делать [Serializefield] или [Serializable] публичные переменные a и b для отображения инспектора (поскольку оба общедоступны, они должны автоматически отображатьсяна инспектора (?)).
Может кто-нибудь объяснить мне, почему на инспекторе не появляется «с»?Или я что-то не понимаю?Любое объяснение будет оценено.
Вот классы B и C.Тот же код, только имя разница.
using UnityEngine;
using System.Collections;
public class B: MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
}
using UnityEngine;
using System.Collections;
public class C: MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
}
Я попробовал D, C предложил ответ ниже.и то и другое не появляется у инспектора.