void ViewFragment(AnimationFragment fragment, bool canEdit = false) { if (fragment != null) { var view = AnimationFragmentViewModel.CreateFromFragment(_pfs, fragment, canEdit); TableWindow.Show(view); } }
void OutputFragmentSelected(AnimationFragment fragment) { if (fragment == null) { ActiveFragmentSlot.UpdatePossibleValues(null); } else { ActiveFragmentSlot.UpdatePossibleValues(fragment.Fragments.Select(x => new FragmentStatusSlotItem(x))); } UpdateCanSaveAndPreviewStates(); }
public void Process(AnimationFragment mountFragment, AnimationFragment riderFragment) { var resultInfo = new ErrorListViewModel.ErrorList(); _mountFragment = mountFragment; _riderFragment = riderFragment; CreateFiles(); CreateFragmentAndAnimations(resultInfo); SaveFiles(); ErrorListWindow.ShowDialog("Mount creation result", resultInfo, false); }
void CreateFiles() { //AnimationPackLoader _outAnimPack = new AnimationPackFile(_animBinName); _outAnimPack.AnimationBin = new AnimationBin("animations/animation_tables/" + _animBinName); var tableEntry = new AnimationBinEntry(_fragmentName, _riderFragment.Skeletons.Values.First(), "Bin entry using skeleton - " + _mountFragment.Skeletons.Values.First() + " goes here"); tableEntry.FragmentReferences.Add(new AnimationBinEntry.FragmentReference() { Name = _fragmentName }); _outAnimPack.AnimationBin.AnimationTableEntries.Add(tableEntry); _riderOutputFragment = new AnimationFragment("animations/animation_tables/" + _fragmentName + ".frg"); _riderOutputFragment.Skeletons = new AnimationFragment.StringArrayTable(_riderFragment.Skeletons.Values.First(), _riderFragment.Skeletons.Values.First()); _outAnimPack.Fragments.Add(_riderOutputFragment); }
void MuntSelected(AnimationFragment value, FilterCollection <FragmentStatusSlotItem> collection, string skeletonName) { if (value == null) { collection.UpdatePossibleValues(null); _validateAction(); return; } var newSkeletonName = value.Skeletons.Values.FirstOrDefault(); var existingSkeletonName = Path.GetFileNameWithoutExtension(skeletonName); if (newSkeletonName != existingSkeletonName) { MessageBox.Show("This fragment does not fit the current skeleton"); return; } collection.UpdatePossibleValues(value.Fragments.Select(x => new FragmentStatusSlotItem(x))); _validateAction(); }