private void PostRules() { foreach (var rule in _model.rules) { var ja = new JArray(); foreach (var configItem in rule.configItems) { ja.Add(new JObject { ["key"] = configItem.name, ["values"] = new JArray(configItem.value), ["type"] = configItem.type }); } var newRule = new JObject { ["projectId"] = Application.cloudProjectId, ["environmentId"] = _data.environmentId, ["configId"] = _data.configId, ["id"] = Guid.NewGuid().ToString(), ["name"] = rule.name, ["enabled"] = rule.enabled, ["condition"] = rule.conditions, ["rolloutPercentage"] = rule.rolloutPercentage, ["startDate"] = "", ["endDate"] = "", ["type"] = "segmentation", ["value"] = ja }; RemoteConfigWebApiClient.PostAddRule(Application.cloudProjectId, _data.environmentId, _data.configId, newRule, OnException); } Debug.Log("RemoteConfigHelper Done"); }
private void SetEnvironment() { _data = new EnvironmentData(); RemoteConfigWebApiClient.CreateEnvironment(Application.cloudProjectId, _model.environmentName, OnException); RemoteConfigWebApiClient.environmentCreated += OnEnvironmentCreated; }
public void PostAddRule_ThrowsArgumentExceptionOnBadArgs() { try { RemoteConfigWebApiClient.PostAddRule(null, null, null, new JObject()); } catch (ArgumentException ex) { Assert.That(ex.GetType() == typeof(ArgumentException)); } }
public void PutConfig_ThrowsArgumentExceptionOnBadArgs() { try { RemoteConfigWebApiClient.PutConfig(null, null, null, null); } catch (ArgumentException ex) { Assert.That(ex.GetType() == typeof(ArgumentException)); } }
public void FetchDefaultEnvironment_ThrowsArgumentExceptionOnBadArgs() { try { RemoteConfigWebApiClient.FetchDefaultEnvironment(null); } catch (ArgumentException ex) { Assert.That(ex.GetType() == typeof(ArgumentException)); } }
void PushSettings(JArray settingsArr) { isMakingHttpCall = true; var newSettings = new JArray(); foreach (var t in settingsArr) { newSettings.Add(t["rs"].DeepClone()); } RemoteConfigWebApiClient.settingsRequestFinished += RemoteConfigWebApiClient_settingsRequestFinished; RemoteConfigWebApiClient.PutConfig(Application.cloudProjectId, environmentId, configId, newSettings); }
private void OnEnvironmentCreated(string responce) { RemoteConfigWebApiClient.environmentCreated -= OnEnvironmentCreated; _data.environmentId = responce; RemoteConfigWebApiClient.SetDefaultEnvironment(Application.cloudProjectId, _data.environmentId); JArray ja = new JArray(); foreach (var configItem in _model.configItems) { ja.Add(new JObject { ["key"] = configItem.name, ["value"] = configItem.value, ["type"] = configItem.type }); } RemoteConfigWebApiClient.postConfigRequestFinished += OnConfigPosted; RemoteConfigWebApiClient.PostConfig(Application.cloudProjectId, _data.environmentId, ja); }
private void RemoteConfigWebApiClient_fetchEnvironmentsFinished(JArray environments) { JObject gsEnv = null; foreach (var environment in environments) { if (environment["name"].Value <string>() == "GameSim") { gsEnv = (JObject)environment; environmentId = gsEnv["id"].Value <string>(); FetchConfig(environmentId); break; } } if (gsEnv == null) { RemoteConfigWebApiClient.environmentCreated += RemoteConfigWebApiClient_environmentCreated; RemoteConfigWebApiClient.CreateEnvironment(Application.cloudProjectId, "GameSim"); } }
private void RemoteConfigWebApiClient_fetchConfigsFinished(JObject config) { RemoteConfigWebApiClient.fetchConfigsFinished -= RemoteConfigWebApiClient_fetchConfigsFinished; if (config.HasValues) { configId = config["id"].Value <string>(); settings = AddMetadataToSettings((JArray)config["value"]); UpdateSettingsTreeview(settings); if (_simulationParametersTreeview != null) { var items = new List <GameSimParametersTreeElement>(); foreach (var setting in settings) { var element = new GameSimParametersTreeElement { Key = (string)setting["rs"]["key"], Type = (string)setting["rs"]["type"], DefaultValue = (string)setting["rs"]["value"], Values = "" }; items.Add(element); } _simulationParametersTreeview?.Setup(items.ToArray()); } } else { RemoteConfigWebApiClient.postConfigRequestFinished += RemoteConfigWebApiClient_postConfigRequestFinished; RemoteConfigWebApiClient.PostConfig(Application.cloudProjectId, environmentId, new JArray()); } isMakingHttpCall = false; }
void FetchEnvironments() { isMakingHttpCall = true; RemoteConfigWebApiClient.FetchEnvironments(Application.cloudProjectId); }
void FetchConfig(string envId) { RemoteConfigWebApiClient.fetchConfigsFinished += RemoteConfigWebApiClient_fetchConfigsFinished; RemoteConfigWebApiClient.FetchConfigs(Application.cloudProjectId, envId); }
/// <summary> /// Requests parameter type information from remote config and stores it /// </summary> public static void Init() { RemoteConfigWebApiClient.fetchEnvironmentsFinished += RemoteConfigEnvironmentsFetched; RemoteConfigWebApiClient.FetchEnvironments(Application.cloudProjectId); }