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;
 }