Unity3D, как остановить выпадающий список дубликатов добавления? - PullRequest
0 голосов
/ 05 марта 2019

Я пытаюсь создать выпадающий список с файлами сохранения, когда нажимается кнопка загрузки, проблема заключается в том, что когда я нажимаю кнопку загрузки более одного раза, снова загружаю одни и те же файлы, я пробую indexof, но все еще дублирую файлы, как я могу это исправить, пожалуйста!

     string[] getfilesname()
{
    string folderPath = Path.Combine(Application.persistentDataPath, foldername);
    string[] filePaths = Directory.GetFiles(folderPath, "*.txt");
    foreach (string file in filePaths)
    {
        var onlyFileName = Path.GetFileNameWithoutExtension(file);
        if (mylist.IndexOf(onlyFileName) == -1)
        {
            mylist.Add(onlyFileName);
        }
        Debug.Log(onlyFileName);
    }
    dropi.AddOptions(mylist);
    return filePaths;
}

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

1 Ответ

0 голосов
/ 05 марта 2019

Метод IndexOf должен позаботиться о дубликатах в mylist, но вы всегда вызываете метод dropi.AddOptions(mylist);, который снова добавит содержимое списка.

Вы должны очистить mylist и вызовите dropi.ClearOptions(); в начале метода Load, этот сценарий возможен в вашем случае.Таким образом, вы избавитесь от if( ...IndexOf("") == -1) тоже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...