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); } } }