public override List <VisibleTimeline> CreateNewEditorItem(AnimationClass ActiveAnimation, AnimationClass.AnimationLayer ActiveLayer, int KeyFrame, System.Drawing.Point MousePosition)
        {
            List <VisibleTimeline> ReturnValue = new List <VisibleTimeline>();

            SpriteSheetHelperDialog.SpriteSheetViewer.DicActiveSpriteSheetBitmap.Clear();
            if (SpriteSheetHelperDialog.ShowDialog() == DialogResult.OK && SpriteSheetHelperDialog.SpriteSheetViewer.DicActiveSpriteSheetBitmap.Count > 0)
            {
                int Index = 1;
                foreach (KeyValuePair <Tuple <int, int>, SpriteSheetTimeline> ActiveBitmap in SpriteSheetHelperDialog.SpriteSheetViewer.DicActiveSpriteSheetBitmap)
                {
                    SpriteSheetTimeline NewSpawnSpriteSheetBitmap = ActiveBitmap.Value;

                    string[] ArraySpriteSheetName = NewSpawnSpriteSheetBitmap.SpriteSheetName.Split(new string[] { "/" }, StringSplitOptions.RemoveEmptyEntries);
                    NewSpawnSpriteSheetBitmap.Name = ArraySpriteSheetName[ArraySpriteSheetName.Length - 1];
                    if (SpriteSheetHelperDialog.SpriteSheetViewer.DicActiveSpriteSheetBitmap.Count > 1)
                    {
                        NewSpawnSpriteSheetBitmap.Name += " " + Index;
                    }

                    NewSpawnSpriteSheetBitmap.Position   = new Vector2(535, 170);
                    NewSpawnSpriteSheetBitmap.SpawnFrame = KeyFrame;
                    NewSpawnSpriteSheetBitmap.DeathFrame = KeyFrame + 10;
                    NewSpawnSpriteSheetBitmap.IsUsed     = true;//Disable the spawner as we spawn the SpawnSpriteSheetBitmap manually.
                    NewSpawnSpriteSheetBitmap.Add(
                        KeyFrame, new VisibleAnimationObjectKeyFrame(new Vector2(NewSpawnSpriteSheetBitmap.Position.X, NewSpawnSpriteSheetBitmap.Position.Y),
                                                                     true, -1));

                    ReturnValue.Add(NewSpawnSpriteSheetBitmap);

                    ++Index;
                }
            }

            return(ReturnValue);
        }
Esempio n. 2
0
        public override List <VisibleTimeline> CreateNewEditorItem(AnimationClass ActiveAnimation, AnimationClass.AnimationLayer ActiveLayer, int KeyFrame, System.Drawing.Point MousePosition)
        {
            List <VisibleTimeline> ReturnValue = new List <VisibleTimeline>();

            SpriteSheetHelperDialog.SpriteSheetViewer.DicActiveSpriteSheetBitmap.Clear();
            if (SpriteSheetHelperDialog.ShowDialog() == DialogResult.OK && SpriteSheetHelperDialog.SpriteSheetViewer.DicActiveSpriteSheetBitmap.Count > 0)
            {
                foreach (KeyValuePair <Tuple <int, int>, SpriteSheetTimeline> ActiveBitmap in SpriteSheetHelperDialog.SpriteSheetViewer.DicActiveSpriteSheetBitmap)
                {
                    SpriteSheetTimeline NewSpawnSpriteSheetBitmap = ActiveBitmap.Value;

                    NewSpawnSpriteSheetBitmap.Position   = new Vector2(535, 170);
                    NewSpawnSpriteSheetBitmap.SpawnFrame = KeyFrame;
                    NewSpawnSpriteSheetBitmap.DeathFrame = KeyFrame + 10;
                    NewSpawnSpriteSheetBitmap.IsUsed     = true;//Disable the spawner as we spawn the SpawnSpriteSheetBitmap manually.
                    NewSpawnSpriteSheetBitmap.Add(
                        KeyFrame, new VisibleAnimationObjectKeyFrame(new Vector2(NewSpawnSpriteSheetBitmap.Position.X, NewSpawnSpriteSheetBitmap.Position.Y),
                                                                     true, -1));

                    ReturnValue.Add(NewSpawnSpriteSheetBitmap);
                }
            }

            return(ReturnValue);
        }
        public override Timeline Copy(AnimationClass.AnimationLayer ActiveLayer)
        {
            SpriteSheetTimeline NewSpawnAnimatedBitmapEvent = new SpriteSheetTimeline(SpriteSheetName, SpriteSheet, SourceRectangle);

            NewSpawnAnimatedBitmapEvent.SpriteSheetHelperDialog = new SpriteSheetHelper();
            NewSpawnAnimatedBitmapEvent.SpriteSheetHelperDialog.SpriteSheetViewer.DicSpriteSheet = new Dictionary <string, Texture2D>();

            ListViewItem NewListViewItem = new ListViewItem(SpriteSheetName);

            NewListViewItem.Tag = SpriteSheet;

            NewSpawnAnimatedBitmapEvent.SpriteSheetHelperDialog.lvSpriteSheets.Items.Add(NewListViewItem);
            NewSpawnAnimatedBitmapEvent.SpriteSheetHelperDialog.SpriteSheetViewer.DicSpriteSheet.Add(SpriteSheetName, SpriteSheet);

            NewSpawnAnimatedBitmapEvent.UpdateFrom(this, ActiveLayer);

            return(NewSpawnAnimatedBitmapEvent);
        }
        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);
                                }
                            }
                        }
                    }
                }
            }
        }