Показать сообщение отдельно
Старый 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"CheaterMode1:0);
        
PlayerPrefs.SetInt ("settings_tilt"useTilt 0);
        
PlayerPrefs.SetInt ("settings_music"useMusic 0);
        
PlayerPrefs.SetInt ("settings_vibration"useVibration 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)
 
Ответить с цитированием