Я пытался найти решение для этого, но застрял, поэтому любой совет действительно ценится.
Прямо сейчас у меня есть список, который используется для отображения строк в списке в произвольном порядке для пользователя, используя Random.Range.Однако эти ответы не записываются и не сохраняются, поэтому у пользователя нет возможности узнать, сколько из этих ответов они разблокировали.
Это то, что я имею сейчас:
List<string> allLocations = new List<string>();
allLocations.Insert(0, "Answer 1");
allLocations.Insert(1, "Answer 2");
allLocations.Insert(2, "Answer 3");
// Display random answer from list
string displayAnswer = allLocations[Random.Range(0, allLocations.Count)];
Я хотел бы реализовать способ записи каждой отображаемой строки, если она не была показана пользователю ранее, и сортировку строки в списке (или более подходящий вариант) по различным категориям.
Например, если отображается какая-либо из строк «Ответ 1» или «Ответ 2» и она не была показана пользователю ранее, она будет записана и засчитана как один ответ, разблокированный в категории А достижений.,Если строка «Ответ 3» отображается пользователю в первый раз, она будет считаться одним ответом, разблокированным в категории B.
В идеале я бы смог отсортировать эти разблокированные строки ответов, чтобы пользовательможно увидеть, сколько ответов они разблокировали в каждой категории.Существует 101 строка этих разблокированных ответов, которые разбиты на 10 категорий для достижений.
Как мне реализовать это и сделать запись строк, ранее отображаемых пользователю, доступной для сценария, отображающего достижения?Я читал, что сериализация данных JSON лучше для этого, чем PlayerPrefs, но я не уверен, как это реализовать.
Спасибо!Я заранее прошу прощения, если это глупый вопрос;Я действительно новичок в Unity и C #.