Проблема в том, что wordList
помечен как static
, но затем используется words
, который не является статичным.
Поскольку переменная static
может использоваться без инициализации экземпляра класса, компилятор не может позволить ей полагаться на нестатическую переменную, поскольку нестатическая переменная не может существовать, когда класс не имеетбыл созданЭто связано с тем, что может возникнуть ситуация, когда кто-то хочет использовать wordList
, а потому что это static
, не в контексте какого-либо конкретного экземпляра объекта этого типа.Поскольку words
может принадлежать только определенной копии класса, wordList
никогда не сможет получить к ней доступ, если она не находится в контексте класса.
Возможно, вы найдете более ясные объяснения статических свойств и методов в других местах.в сети, но это мой основной подход.
В любом случае, самый простой способ решить вашу проблему - сделать все ваши свойства статичными:
Изменить
TextAsset words = Resources.Load<TextAsset>("words");
на
static TextAsset words = Resources.Load<TextAsset>("words");