private void SphereGridActivation_Changed(object sender, RoutedEventArgs e) { if (_refreshing) { return; } var senderBox = sender as CheckBox; var senderIndex = PanelNodeActivatedBy.Children.IndexOf(senderBox); var current = SphereGrid.ReadNode(_currentNode); var actCurrent = current.ActivatedBy; actCurrent = BitHelper.ToggleBit(actCurrent, senderIndex); SphereGrid.SetNodeActivation(_currentNode, actCurrent); Refresh(); }
private void RefreshNode() { var node = SphereGrid.ReadNode(_currentNode); TextCurrentNode.Text = $"Currently editing node #{_currentNode}"; ComboNodeType.SelectedIndex = node.NodeType; var activations = BitHelper.GetBitArray(new[] { node.ActivatedBy }, 8); for (var i = 0; i < 7; i++) { var checkBox = PanelNodeActivatedBy.Children[i] as CheckBox; if (checkBox != null) { checkBox.IsChecked = activations[i]; } } }