user.config в Unity3D
Есть ли способ сохранить настройки для каждого пользователя в игре Unity3D?
Я ищу что-то похожее на user.config, которое можно найти в.NET. Он создается для каждого пользователя компьютера.
Мне нужно, чтобы хранить некоторые значения (параметры фильтрации), которые могут быть изменены пользователем / игроком. Должна быть возможность сохранять новые значения тоже.
Если не существует такого автоматизированного способа, каков наилучший подход? Я подумал:
- Сохранение в текстовый файл.
- Сохранение в двоичный файл.
1 ответ
Я думаю, что класс PlayerPrefs должен соответствовать вашим потребностям. Он поддерживает все платформы и предоставляет основные типы, такие как float, int и string, включая значения по умолчанию.
В Untiy 3.x PlayerPrefs были представлены довольно медленно на мобильных устройствах - см. Запись в блоге Writing PlayerPrefs, Fast. Я использовал его модифицированную версию в нескольких проектах, и она отлично работает, за исключением приложений Магазина Windows, поскольку они не поддерживают все классы System.IO.
Независимо от того, какое решение вы принимаете, я бы всегда предлагал инкапсулировать вызовы в ваш собственный класс фасадов. Таким образом, вы можете легко изменить базовую реализацию и добавить недостающие функции, такие как поддержка массивов.