Object reference not set to an instance of an object при очистке списка Unity
У меня есть скрипт для сохранения/загрузки в файл и списка файлов.
Но при очистке списка Filelist ошибка Object reference not set to an instance of an object. Как это фиксить?
Сам скрипт:
public class SaveLoadManager : MonoBehaviour
{
public Data data = new Data();
public List<menu_worldSelector> fileList;
public List<string> worldNames;
public InputField worldNameInput;
public Dropdown worldList;
void Start()
{
Directory.CreateDirectory(Application.persistentDataPath + "/Save");
}
private void Update()
{
data.worldName = worldNameInput.text;
fileList.Clear();
worldList.ClearOptions();
worldNames.Clear();
foreach (string file in Directory.GetFiles(Application.persistentDataPath + "/Save/"))
{
fileList.Add(new menu_worldSelector(file, JsonUtility.FromJson<menu_worldSelector>(File.ReadAllText(file)).name ));
worldNames.Add(JsonUtility.FromJson<menu_worldSelector>(File.ReadAllText(file)).name);
}
worldList.AddOptions(worldNames);
}
}
public class menu_worldSelector
{
public string path;
public string name;
public menu_worldSelector(string path, string name)
{
this.path = path;
this.name = name;
}
}
Ответы (1 шт):
Автор решения: BrekWorld
→ Ссылка
Для таких случаев можно просто поставить [System.Serializable] перед классом списка.