public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { IWindowsFormsEditorService svc = (IWindowsFormsEditorService) provider.GetService(typeof(IWindowsFormsEditorService)); if (svc != null) { SpriteSheetHelper NewSpawner = (SpriteSheetHelper)value; SpriteSheetHelper SpriteSheetHelperDialog = new SpriteSheetHelper(); SpriteSheetHelperDialog.Replace = true; SpriteSheetHelperDialog.SpriteSheetViewer.Preload(); SpriteSheetHelperDialog.SpriteSheetViewer.DicSpriteSheet = new Dictionary <string, Texture2D>(); SpriteSheetHelperDialog.SpriteSheetViewer.SpriteSheet = NewSpawner.SpriteSheetViewer.SpriteSheet; foreach (KeyValuePair <string, Texture2D> ActiveSpriteSheet in NewSpawner.SpriteSheetViewer.DicSpriteSheet) { ListViewItem NewListViewItem = new ListViewItem(ActiveSpriteSheet.Key); NewListViewItem.Tag = ActiveSpriteSheet.Value; SpriteSheetHelperDialog.lvSpriteSheets.Items.Add(NewListViewItem); SpriteSheetHelperDialog.SpriteSheetViewer.DicSpriteSheet.Add(ActiveSpriteSheet.Key, ActiveSpriteSheet.Value); } if (SpriteSheetHelperDialog.ShowDialog() == DialogResult.OK) { value = SpriteSheetHelperDialog; } } return(value); }
public override void OnAnimationEditorLoad(AnimationClass ActiveAnimation) { SpriteSheetHelperDialog = new SpriteSheetHelper(); SpriteSheetHelperDialog.SpriteSheetViewer.Preload(); SpriteSheetHelperDialog.SpriteSheetViewer.DicSpriteSheet = new Dictionary <string, Texture2D>(); if (SpriteSheetName != null) { ListViewItem NewListViewItem = new ListViewItem(SpriteSheetName); NewListViewItem.Tag = SpriteSheet; SpriteSheetHelperDialog.lvSpriteSheets.Items.Add(NewListViewItem); SpriteSheetHelperDialog.SpriteSheetViewer.DicSpriteSheet.Add(SpriteSheetName, SpriteSheet); } else { for (int L = ActiveAnimation.ListAnimationLayer.Count - 1; L >= 0; --L) { foreach (KeyValuePair <int, List <Timeline> > ActiveEvent in ActiveAnimation.ListAnimationLayer[L].DicTimelineEvent) { for (int E = ActiveEvent.Value.Count - 1; E >= 0; --E) { SpriteSheetTimeline ActiveTimeline = ActiveEvent.Value[E] as SpriteSheetTimeline; if (ActiveTimeline != null) { if (!SpriteSheetHelperDialog.SpriteSheetViewer.DicSpriteSheet.ContainsKey(ActiveTimeline.SpriteSheetName)) { ListViewItem NewListViewItem = new ListViewItem(ActiveTimeline.SpriteSheetName); NewListViewItem.Tag = ActiveTimeline.SpriteSheet; SpriteSheetHelperDialog.lvSpriteSheets.Items.Add(NewListViewItem); SpriteSheetHelperDialog.SpriteSheetViewer.DicSpriteSheet.Add(ActiveTimeline.SpriteSheetName, ActiveTimeline.SpriteSheet); } } } } } } }