private static void ParseConfigs(string json, Action <Exception> responseParseErrorCallback) { RemoteConfigConfigData config = new RemoteConfigConfigData() { value = new List <RemoteSettingsKeyValueType>() }; try { var configData = JsonUtility.FromJson <GetConfigsWebStruct>(json); for (int i = 0; i < configData.configs.Count; i++) { if (configData.configs[i].type == "settings") { config = configData.configs[i]; } } } catch (Exception e) { Debug.LogWarning("Remote Config response was not valid JSON:\n" + json + "\n" + e); responseParseErrorCallback?.Invoke(e); } fetchConfigsFinished?.Invoke(config); }
private void OnFetchRemoteSettingsFinished(RemoteConfigConfigData config) { DoCleanUp(); RemoteConfigWebApiClient.fetchConfigsFinished -= OnFetchRemoteSettingsFinished; m_DataManager.SetRSDataStore(config); m_DataManager.SetLastCachedKeyList(); FetchRules(); }
/// <summary> /// Sets the config object on the Remote Config Data Store /// </summary> /// <param name="config">A config object representing the new config</param> public void SetRSDataStore(RemoteConfigConfigData config) { m_DataStore.rsKeyList = new List <RsKvtData>(); foreach (var val in config.value) { m_DataStore.rsKeyList.Add(new RsKvtData(Guid.NewGuid().ToString(), val)); } m_DataStore.configId = config.id; }