Ejemplo n.º 1
0
        private static XAnimationSet ReadAnimationSet(XofFileEnumData enumData)
        {
            var animationSet = new XAnimationSet
            {
                Name = enumData.GetName()
            };

            byte[] data = enumData.GetData();

            if (data.Length != 0)
            {
                throw new InvalidDataException();
            }

            int childrenCount = enumData.GetChildrenCount();

            for (int childIndex = 0; childIndex < childrenCount; childIndex++)
            {
                using (var child = enumData.GetChild(childIndex))
                {
                    Guid type = child.GetTemplateType();

                    if (type == XofFileDefaultTemplates.AnimationId)
                    {
                        animationSet.Animations.Add(ReadAnimation(child));
                    }
                    else
                    {
                        throw new InvalidDataException();
                    }
                }
            }

            return(animationSet);
        }
 private static void WriteAnimationSet(XAnimationSet animationSet, XofFileSaveObject saveObject)
 {
     using (var child = saveObject.AddData(XofFileDefaultTemplates.AnimationSetId, animationSet.Name, null, null))
     {
         foreach (var animation in animationSet.Animations)
         {
             WriteAnimation(animation, child);
         }
     }
 }