У меня проблемы с хранением информации. Проблема заключается в том, что при сохранении списков я получаю очень длинные строки, даже если информация выглядит короткой.
Допустим, у меня есть 100 домов, и я хочу сэкономить, сколько людей в каждом доме. Я использую это:
Houses.cs
[System.Serializable]
public class Houses
{
public int ID { get; set; }
public int PEOPLE { get; set; }
public Houses(int _ID, int _PEOPLE)
{
ID = _ID;
PEOPLE = _PEOPLE ;
}
}
Затем в другом сценарии у меня есть:
public List<Houses> HousesList = new List<Houses>();
void Awake()
{
HousesList.Add(new Houses(0,0));
//repeat until 100 (or more) I use a loop to initialize it
}
Затем, чтобы добавить людей, я говорю:
HousesList[3].PEOPLE+=5;
Затем для сохранения я использую способ BinaryFormatter / MemoryStream, но даже если в списке только один идентификатор и одно значение для людей, полученная в результате сериализованная строка содержит 4000-5000 символов.
Для хранения небольшого количестваданных я использую ту же систему, но только с одним списком:
Houses.Add(new Houses(0,2,0,0,1)); // house 1, house 2... house 5
Но таким образом, даже если есть 100 домов, строка короткая, но запутывает многие числа. И позже у меня могут возникнуть проблемы с сохранением / загрузкой, если я добавлю больше домов.
Можно ли как-то управлять этими данными и сохранять их в гораздо более короткой строке?
Спасибо.