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);
             */
        }
Пример #2
0
        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);
        }