Exemplo n.º 1
0
        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);
                                }
                            }
                        }
                    }
                }
            }
        }