Объявление в MonoBehavior вызова конструктора и сбоя - PullRequest
0 голосов
/ 27 сентября 2019

В MonoBehavior я делаю объявление пользовательского объекта.Это, однако, приводит к ошибке и сбоям из-за этой ошибки:

"UnityException: RandomRangeInt не разрешается вызывать во время сериализации, вместо этого вызывайте его из Awake или Start. Вызывается из MonoBehaviour 'xxxxx' для игрового объекта'xxx'. "

RandomRangeInt находится внутри конструктора объявляемого объекта, но он вообще там не устанавливается.Я не уверен, почему это происходит, и объяснение было бы прекрасно.

С другой стороны, эта проблема полностью исчезнет, ​​если я изменю объявление на статическую переменную (var2 в примере кода.

public class SampleClass: MonoBehaviour
{
    int var1;
    SampleClass2 var2;
}

public class SampleClass2
{
    int var1;

    public SampleClass2(){
    var1 = UnityEngine.Random.RandomRange(0,10);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...