1Frosty
@1Frosty
Познаю новое

Как перезаписать элементы массива в List?

Доброго времени суток. Делаю игру, в которой есть категории вопросов. Игрок может выбрать категории самостоятельно, любые. Не могу сделать так, чтобы в List<> добавились несколько категорий. Переменные просто перезаписываются. А как сделать, чтобы массив не перезаписывался, а просто пополнялся ?
Вот что я делаю:
public class Game : MonoBehaviour {
public CategoryList[] category = new CategoryList[9];
[HideInInspector]
public Toggle toggleSports, toggleGeo, toggleHistory, toggleFilmTV, toggleTech, toggleAnimal, toggleStars, toggleMusic, toggleChildren, toggleAll;
public WordsList[] words = new WordsList[10];

List<object> wordList;

public void StartGame()
{
wordList = new List<object>(words);
// Проверяем какие категории отмечены
for (int i = 0; i < words.Length; i++)
{
if (toggleSports.isOn == true)
{
words[i].word = LangSystem.lng.sports[i];
}
if (toggleGeo.isOn == true)
{
words[i].word = LangSystem.lng.geo[i];
}
Debug.Log(words[i].word);
}
WordsGenerate();
}

[System.Serializable]
public class CategoryList
{
public string[] catName = new string[9];
public WordsList[] words;
}

[System.Serializable]
public class WordsList
{
public string word;
}
}

В итоге только вторая категория записывается, а мне нужно, чтобы они не перезаписывались, а добавлялись. Подскажите пожалуйста, как это сделать ? Заранее большое спасибо.
  • Вопрос задан
  • 751 просмотр
Решения вопроса 1
@ReWire_92
"А как сделать, чтобы массив не перезаписывался, а просто пополнялся ?"

Массив нельзя пополнить, он имеет фиксированный размер, который задаётся при его создании.
Вместо массива юзай List.
List.Add(категория); - чтобы добавить категорию.
List.Remove(категория); - чтобы удалить.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы