/// <summary>Generates all needed keyframes from the given spriter data.</summary>
        /// <remarks>Generates all needed keyframes from the given spriter data. This method sorts all objects by its z_index value to draw them in a proper way.
        /// 	</remarks>
        /// <param name="spriterData">SpriterData to generate from.</param>
        /// <returns>generated keyframe list.</returns>
        public static System.Collections.Generic.IList<com.brashmonkey.spriter.animation.SpriterAnimation> generateKeyFramePool(com.discobeard.spriter.dom.SpriterData data, com.discobeard.spriter.dom.Entity
			 entity)
        {
            System.Collections.Generic.IList<com.brashmonkey.spriter.animation.SpriterAnimation
                > spriterAnimations = new System.Collections.Generic.List<com.brashmonkey.spriter.animation.SpriterAnimation
                >();
            System.Collections.Generic.IList<com.discobeard.spriter.dom.Animation> animations
                 = entity.getAnimation();
            com.brashmonkey.spriter.mergers.SpriterAnimationBuilder frameBuilder = new com.brashmonkey.spriter.mergers.SpriterAnimationBuilder
                ();
            foreach (com.discobeard.spriter.dom.Animation anim in animations)
            {
                com.brashmonkey.spriter.animation.SpriterAnimation spriterAnimation = frameBuilder
                    .buildAnimation(anim);
                bool found = false;
                foreach (com.brashmonkey.spriter.animation.SpriterKeyFrame key in spriterAnimation
                    .frames)
                {
                    if (!found)
                    {
                        found = key.getTime() == anim.getLength();
                    }
                    sort(key.getObjects());
                    foreach (com.brashmonkey.spriter.objects.SpriterBone bone in key.getBones())
                    {
                        foreach (com.brashmonkey.spriter.objects.SpriterBone bone2 in key.getBones())
                        {
                            if (bone2.hasParent())
                            {
                                if (!bone2.equals(bone) && bone2.getParentId() == bone.getId())
                                {
                                    bone.addChildBone(bone2);
                                }
                            }
                        }
                        foreach (com.brashmonkey.spriter.objects.SpriterObject @object in key.getObjects(
                            ))
                        {
                            com.brashmonkey.spriter.file.Reference @ref = @object.getRef();
                            com.discobeard.spriter.dom.File f = data.getFolder()[@ref.folder].getFile()[@ref.
                                file];
                            @ref.dimensions = new com.brashmonkey.spriter.SpriterRectangle(0, f.getHeight(),
                                f.getWidth(), 0f);
                            if (bone.getId() == @object.getParentId())
                            {
                                bone.addChildObject(@object);
                            }
                        }
                    }
                }
                spriterAnimations.Add(spriterAnimation);
            }
            return spriterAnimations;
        }
Esempio n. 2
0
                                                 > generateKeyFramePool(com.discobeard.spriter.dom.SpriterData data, com.discobeard.spriter.dom.Entity
                                                                        entity)
 {
     System.Collections.Generic.IList <com.brashmonkey.spriter.animation.SpriterAnimation
                                       > spriterAnimations = new System.Collections.Generic.List <com.brashmonkey.spriter.animation.SpriterAnimation
                                                                                                  >();
     System.Collections.Generic.IList <com.discobeard.spriter.dom.Animation> animations
         = entity.getAnimation();
     com.brashmonkey.spriter.mergers.SpriterAnimationBuilder frameBuilder = new com.brashmonkey.spriter.mergers.SpriterAnimationBuilder
                                                                                ();
     foreach (com.discobeard.spriter.dom.Animation anim in animations)
     {
         com.brashmonkey.spriter.animation.SpriterAnimation spriterAnimation = frameBuilder
                                                                               .buildAnimation(anim);
         bool found = false;
         foreach (com.brashmonkey.spriter.animation.SpriterKeyFrame key in spriterAnimation
                  .frames)
         {
             if (!found)
             {
                 found = key.getTime() == anim.getLength();
             }
             sort(key.getObjects());
             foreach (com.brashmonkey.spriter.objects.SpriterBone bone in key.getBones())
             {
                 foreach (com.brashmonkey.spriter.objects.SpriterBone bone2 in key.getBones())
                 {
                     if (bone2.hasParent())
                     {
                         if (!bone2.equals(bone) && bone2.getParentId() == bone.getId())
                         {
                             bone.addChildBone(bone2);
                         }
                     }
                 }
                 foreach (com.brashmonkey.spriter.objects.SpriterObject @object in key.getObjects(
                              ))
                 {
                     com.brashmonkey.spriter.file.Reference @ref = @object.getRef();
                     com.discobeard.spriter.dom.File        f    = data.getFolder()[@ref.folder].getFile()[@ref.
                                                                                                           file];
                     @ref.dimensions = new com.brashmonkey.spriter.SpriterRectangle(0, f.getHeight(),
                                                                                    f.getWidth(), 0f);
                     if (bone.getId() == @object.getParentId())
                     {
                         bone.addChildObject(@object);
                     }
                 }
             }
         }
         spriterAnimations.Add(spriterAnimation);
     }
     return(spriterAnimations);
 }