Example #1
0
        private void UpdateClusterVisuals()
        {
            // See if they should be shown
            if (!chkShowClusters.IsChecked.Value)
            {
                if (_clusterVisuals != null)
                {
                    _viewport.Children.Remove(_clusterVisuals.Visual);
                    _clusterVisuals = null;
                }

                return;
            }

            // Get current clusters
            SwarmCluster[] clusters = _botClusters.Clusters;

            // Check for empty
            if (clusters == null || clusters.Length == 0)
            {
                if (_clusterVisuals != null)
                {
                    _viewport.Children.Remove(_clusterVisuals.Visual);
                    _clusterVisuals = null;
                }

                return;
            }

            // See if different
            if (_clusterVisuals != null && !SwarmCluster.IsSame(clusters, _clusterVisuals.Clusters))
            {
                _viewport.Children.Remove(_clusterVisuals.Visual);
                _clusterVisuals = null;
            }

            if (_clusterVisuals == null)
            {
                // Create new
                _clusterVisuals = new ClusterVisuals(clusters, false);
                _viewport.Children.Add(_clusterVisuals.Visual);
            }
            else
            {
                // Update position, size
                _clusterVisuals.Update();
            }
        }
        private void UpdateClusterVisuals()
        {
            // See if they should be shown
            if (!chkShowClusters.IsChecked.Value)
            {
                if (_clusterVisuals != null)
                {
                    _viewport.Children.Remove(_clusterVisuals.Visual);
                    _clusterVisuals = null;
                }

                return;
            }

            // Get current clusters
            SwarmCluster[] clusters = _botClusters.Clusters;

            // Check for empty
            if (clusters == null || clusters.Length == 0)
            {
                if (_clusterVisuals != null)
                {
                    _viewport.Children.Remove(_clusterVisuals.Visual);
                    _clusterVisuals = null;
                }

                return;
            }

            // See if different
            if (_clusterVisuals != null && !SwarmCluster.IsSame(clusters, _clusterVisuals.Clusters))
            {
                _viewport.Children.Remove(_clusterVisuals.Visual);
                _clusterVisuals = null;
            }

            if (_clusterVisuals == null)
            {
                // Create new
                _clusterVisuals = new ClusterVisuals(clusters, false);
                _viewport.Children.Add(_clusterVisuals.Visual);
            }
            else
            {
                // Update position, size
                _clusterVisuals.Update();
            }
        }