Пример #1
0
        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);
            }
        }
Пример #2
0
        private void UpdateFilter(RemoteFilter rFilter)
        {
            var filter = _filters.FirstOrDefault(f => f.Id == rFilter.id);

            if (!filter)
            {
                AddFilter(rFilter);
            }
            else
            {
                UpdateFilter(rFilter, filter);
            }
        }
Пример #3
0
        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;
        }