public static ElUVAnimationPart Parse(ElData data) { var rt = new ElUVAnimationPart { baseData = data, }; foreach (var i in data.Children) { switch (i.Name) { case "MeshContainerName": rt.MeshContainerName = i.Values.First().Trim('"'); break; case "MaterialName": rt.MaterialName = i.Values.First().Trim('"'); break; case "TimeKeys": rt.TimeKeys = i.Children.Select(_ => float.Parse(_.Values.First())).ToList(); break; case "TransKeys": rt.TransKeys = i.Children.Select(_ => _.Values.Select(float.Parse).ToArray()).ToList(); break; case "RotateKeys": rt.RotateKeys = i.Children.Select(_ => _.Values.Select(float.Parse).ToArray()).ToList(); break; case "ScaleKeys": rt.ScaleKeys = i.Children.Select(_ => _.Values.Select(float.Parse).ToArray()).ToList(); break; } } return(rt); }
public static ElUVAnimationPart Parse(ElData data) { var rt = new ElUVAnimationPart { baseData = data, }; foreach (var i in data.Children) switch (i.Name) { case "MeshContainerName": rt.MeshContainerName = i.Values.First().Trim('"'); break; case "MaterialName": rt.MaterialName = i.Values.First().Trim('"'); break; case "TimeKeys": rt.TimeKeys = i.Children.Select(_ => float.Parse(_.Values.First())).ToList(); break; case "TransKeys": rt.TransKeys = i.Children.Select(_ => _.Values.Select(float.Parse).ToArray()).ToList(); break; case "RotateKeys": rt.RotateKeys = i.Children.Select(_ => _.Values.Select(float.Parse).ToArray()).ToList(); break; case "ScaleKeys": rt.ScaleKeys = i.Children.Select(_ => _.Values.Select(float.Parse).ToArray()).ToList(); break; } return rt; }