Показать сообщение отдельно
Старый 08.04.2016, 00:16   #2343
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Вопросы от новичка

Это нормально, что иногда PlayerPrefe забивает на некоторые сохраненные ключи, причем рандомно на разных устройствах?
Пишу и читаю не в Awake, после установки ключей сохраняю на диск. Все происходит по событиям (не в Update)

Вот у меня 4 параметра, пишу так:
public static void SaveOnlySettings ()
    {
        
PlayerPrefs.SetInt ("settings_cheater", CheaterMode? 1:0);
        
PlayerPrefs.SetInt ("settings_tilt", useTilt ? 1 : 0);
        
PlayerPrefs.SetInt ("settings_music", useMusic ? 1 : 0);
        
PlayerPrefs.SetInt ("settings_vibration", useVibration ? 1 : 0);
        
PlayerPrefs.Save ();
    } 
Читаю так:
public static void LoadParams ()
    {
        
CheaterMode = PlayerPrefs.GetInt ("settings_cheater", 0) == 1;
        
MoneyCount = PlayerPrefs.GetInt ("game_money", 0);
        
useTilt = PlayerPrefs.GetInt ("settings_tilt", 1) == 1;
        
useMusic = PlayerPrefs.GetInt ("settings_music", 1) == 1;
        
useVibration = PlayerPrefs.GetInt ("settings_vibration", 1) == 1;
        
rocketConfig = new RocketConfig ();
        
rocketConfig.LoadConfig ();
        
Debug.Log ("[GLOBAL] LOAD SETTINGS");
    } 
Во втором случае читаю все параметры махом, которые существуют, а пишу только настройки, так как они чаще меняются.

Так вот useMusic и useVibration на компе иногда не читаются как бы, useTilt всегда нормально работает.
Еще у друга на HTC не читается useVibration в определенных случаях, а на моем он не может воспроизвести баг.

Что за фигня такая и как лечится, а то проще сериализовать в json наверное будет.
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием