Пример #1
0
        public static bool GetKeyValue(PrefsKey prefsKey, out string value, out bool json)
        {
            string propertyName;
            string prefsManager;
            string type;

            value = "";
            json  = false;

            if (!ParseKeyString(prefsKey.ToString(), out propertyName, out type, out prefsManager))
            {
                return(false);
            }

            IPrefsManager manager = GetManager(prefsManager);

            if (manager == null)
            {
                return(false);
            }

            switch (type)
            {
            case "Int":
            case "int":
                value = manager.GetInt(prefsKey, 0).ToString();
                break;

            case "bool":
            case "Bool":
                value = manager.GetInt(prefsKey, 0) == 1 ? "true" : "false";
                break;

            case "Float":
            case "float":
                value = manager.GetFloat(prefsKey, 0f).ToString();
                break;

            case "String":
            case "string":
                value = manager.Get(prefsKey, "");
                break;

            default:
                json = true;
                goto case "string";
            }

            return(true);
        }
Пример #2
0
        public static IPrefsManager GetManager(string prefsManager)
        {
            IPrefsManager manager = null;

            switch (prefsManager)
            {
            case "_dataManager.EncryptedPrefsManager":
                manager = DataManager.Instance?.EncryptedPrefsManager ?? new EncryptedPlayerPrefs(new UnityJsonConverter());
                break;

            case "_dataManager.DefaultPrefsManager":
                manager = DataManager.Instance?.DefaultPrefsManager ?? new DefaultPrefsManager(new UnityJsonConverter());
                break;
            }

            return(manager);
        }