private void AddSubAnimationButton_Click(object sender, RoutedEventArgs e) { ////////////// Early Out////////// if (ViewModel.SelectedAnimation == null) { MessageBox.Show("You must first select an animation"); return; } /////////// End Early Out///////// SubAnimationSelectionWindow window = new SubAnimationSelectionWindow(); window.AnimationToExclude = this.ViewModel.SelectedAnimation; window.AnimationContainers = CreateAnimationContainers(); var result = window.ShowDialog(); if (result.HasValue && result.Value && window.SelectedAnimation != null) { var selectedAnimation = window.SelectedAnimation; AnimatedKeyframeViewModel newVm = new AnimatedKeyframeViewModel(); if (selectedAnimation.ContainingInstance != null) { newVm.AnimationName = selectedAnimation.ContainingInstance.Name + "." + selectedAnimation.Name; } else { newVm.AnimationName = selectedAnimation.Name; } newVm.SubAnimationViewModel = selectedAnimation; newVm.HasValidState = true; if (ViewModel.SelectedAnimation.SelectedKeyframe != null) { // put this after the current animation newVm.Time = ViewModel.SelectedAnimation.SelectedKeyframe.Time + 1f; } else if (ViewModel.SelectedAnimation.Keyframes.Count != 0) { newVm.Time = ViewModel.SelectedAnimation.Keyframes.Last().Time + 1f; } ViewModel.SelectedAnimation.Keyframes.Add(newVm); ViewModel.SelectedAnimation.Keyframes.BubbleSort(); } }
private void AddSubAnimationButton_Click(object sender, RoutedEventArgs e) { SubAnimationSelectionWindow window = new SubAnimationSelectionWindow(); var result = window.ShowDialog(); if (result.HasValue && result.Value && window.SelectedAnimation != null) { var selectedAnimation = window.SelectedAnimation; AnimatedKeyframeViewModel newVm = new AnimatedKeyframeViewModel(); if (selectedAnimation.ContainingInstance != null) { newVm.AnimationName = selectedAnimation.ContainingInstance.Name + "." + selectedAnimation.Name; } else { newVm.AnimationName = selectedAnimation.Name; } newVm.SubAnimationViewModel = selectedAnimation; newVm.HasValidState = true; if (ViewModel.SelectedAnimation.SelectedKeyframe != null) { // put this after the current animation newVm.Time = ViewModel.SelectedAnimation.SelectedKeyframe.Time + 1f; } else if (ViewModel.SelectedAnimation.Keyframes.Count != 0) { newVm.Time = ViewModel.SelectedAnimation.Keyframes.Last().Time + 1f; } ViewModel.SelectedAnimation.Keyframes.Add(newVm); ViewModel.SelectedAnimation.Keyframes.BubbleSort(); } }