private void OnCollisionTypeChanged(object sender, SelectionChangedEventArgs e) { if (SelectedObj != null && SelectedObj.Type != collisionTypeBox.SelectedIndex) { var op = new ModifyPropertyOperation(ApplicationSettings.Instance.ActiveProject, SelectedObj, nameof(Data.Article.Type), SelectedObj.Type, collisionTypeBox.SelectedIndex); ApplicationSettings.Instance.ActiveProject.ExecuteOp(op); } }
private void OnStaticChanged(object sender, RoutedEventArgs e) { if (SelectedObj is Terrain terrain) { if (terrain.Static != (staticBox.IsChecked ?? false)) { var op = new ModifyPropertyOperation(ApplicationSettings.Instance.ActiveProject, SelectedObj, nameof(Terrain.Static), !(staticBox.IsChecked ?? false), staticBox.IsChecked ?? false); ApplicationSettings.Instance.ActiveProject.ExecuteOp(op); } } }
private void OnSpriteNameChanged(object sender, RoutedEventArgs e) { if (SelectedObj != null) { var window = new SpriteSelectionWindow(); var obj = SelectedObj; window.Sprite = SelectedObj.Sprite; window.Closed += (s, args) => { if (obj != null && obj.Sprite != window.Sprite) { var op = new ModifyPropertyOperation(ApplicationSettings.Instance.ActiveProject, obj, nameof(Data.Article.Sprite), SelectedObj.Sprite, window.Sprite); ApplicationSettings.Instance.ActiveProject.ExecuteOp(op); Article.NoInvoke = true; Article.Sprite = window.Sprite; Article.NoInvoke = false; } }; window.Owner = App.Current.MainWindow; window.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner; window.Show(); } }
private void Article_PropertyChangedValue(object oldValue, object newValue, string property) { var op = new ModifyPropertyOperation(ApplicationSettings.Instance.ActiveProject, SelectedObj, property, oldValue, newValue); ApplicationSettings.Instance.ActiveProject.ExecuteOp(op); }