private void AddFilter(RemoteFilter rFilter) { var filter = _filters.FirstOrDefault(f => f.Id == rFilter.id); var graph = _graphManager.GetGraph(rFilter.origin); if (graph) { if (!filter) { filter = Instantiate(FilterTemplate); filter.Init(graph); _filters.Add(filter); filter.Id = rFilter.id; _remoteFilters.Add(rFilter); if (OnFilterUpdate != null) { OnFilterUpdate(); } } else { Debug.LogWarning("Tried to add already existing filter with id " + rFilter.id); } UpdateFilter(rFilter, filter); } else { Debug.LogWarning("Tried to add filter for non-existing graph " + rFilter.id); } }
private void UpdateFilter(RemoteFilter rFilter) { var filter = _filters.FirstOrDefault(f => f.Id == rFilter.id); if (!filter) { AddFilter(rFilter); } else { UpdateFilter(rFilter, filter); } }
private void UpdateFilter(RemoteFilter rFilter, FilterRenderer filter) { _remoteFilters.RemoveAll(rf => rf.id == rFilter.id); _remoteFilters.Add(rFilter); var color = new Color(3f / 255f, 169f / 255f, 244f / 255f, 1); if (!String.IsNullOrEmpty(rFilter.color)) { var colorSuccess = ColorUtility.TryParseHtmlString(rFilter.color, out color); if (!colorSuccess) { Debug.LogWarning("Could not parse color " + rFilter.color); } } //if (rFilter.type == RemoteFilter.Type.Metric) if (rFilter.type == RemoteFilter.Type.Detail && rFilter.gradient != null && rFilter.useAxisColor != "n") { filter.Gradients = ConvertGradient(rFilter.gradient); filter.GradientAxis = rFilter.useAxisColor == "x" ? 'x' : 'y'; UpdateGradientLimits(rFilter.origin, rFilter.useAxisColor); } else { filter.Color = color; } if (rFilter.type == RemoteFilter.Type.Detail && rFilter.mappings != null && rFilter.useAxisColor != "n") { filter.CategoryAxis = rFilter.useAxisColor == "x" ? 'x' : 'y'; filter.UseCategories = true; filter.Categories = ConvertMappings(rFilter.mappings); } else { filter.UseCategories = false; } filter.Path = rFilter.path; filter.IsSelected = rFilter.isSelected; }