private void ReadAnimations(ContentReader input) { int numAnimationClips = input.ReadInt32(); Dictionary <string, AnimationClip> animationClipDictionary = new Dictionary <string, AnimationClip>(); // Read all animation clips for (int i = 0; i < numAnimationClips; i++) { input.ReadSharedResource <AnimationClip>( delegate(AnimationClip animationClip) { animationClipDictionary.Add(animationClip.Name, animationClip); }); } animationClips = new AnimationClipDictionary(animationClipDictionary); /* * Dictionary<string, AnimationClip> trackDictionary = * new Dictionary<string, AnimationClip>(); * * int numAnimations = input.ReadInt32(); * for (int i = 0; i < numAnimations; i++) * { * Dictionary<string, AnimationChannel> channelDictionary = * new Dictionary<string, AnimationChannel>(); * * string trackName = input.ReadString(); * TimeSpan trackDuration = input.ReadObject<TimeSpan>(); * * int numChannels = input.ReadInt32(); * for (int j = 0; j < numChannels; j++) * { * string channelName = input.ReadString(); * * int numKeyframes = input.ReadInt32(); * List<AnimationChannelKeyframe> keyframeList = new List<AnimationChannelKeyframe>(numKeyframes); * for (int k = 0; k < numKeyframes; k++) * { * TimeSpan keyframeTime = input.ReadObject<TimeSpan>(); * Matrix keyframeTransform = input.ReadMatrix(); * * keyframeList.Add(new AnimationChannelKeyframe(keyframeTime, keyframeTransform)); * } * * channelDictionary.Add(channelName, new AnimationChannel(keyframeList)); * } * * AnimationClip animationClip = * new AnimationClip(trackName, new AnimationChannelDictionary(channelDictionary), * trackDuration); * trackDictionary.Add(trackName, animationClip); * } * * animationClips = new AnimationClipDictionary(trackDictionary); */ }
private void ReadAnimations(ContentReader input) { int numAnimationClips = input.ReadInt32(); Dictionary <string, AnimationClip> animationClipDictionary = new Dictionary <string, AnimationClip>(); // Read all animation clips for (int i = 0; i < numAnimationClips; i++) { input.ReadSharedResource <AnimationClip>( delegate(AnimationClip animationClip) { animationClipDictionary.Add(animationClip.Name, animationClip); }); } animationClips = new AnimationClipDictionary(animationClipDictionary); }