Пример #1
0
        public WorkspaceAnimation(ImportedAnimation importedAnimation) :
            base()
        {
            this.importedAnimation = importedAnimation;

            if (importedAnimation is ImportedKeyframedAnimation)
            {
                List <ImportedAnimationKeyframedTrack> importedTrackList = ((ImportedKeyframedAnimation)importedAnimation).TrackList;
                this.TrackOptions = new Dictionary <ImportedAnimationTrack, AdditionalTrackOptions>(importedTrackList.Count);
                for (int i = 0; i < importedTrackList.Count; i++)
                {
                    ImportedAnimationTrack track   = importedTrackList[i];
                    AdditionalTrackOptions options = new AdditionalTrackOptions();
                    this.TrackOptions.Add(track, options);
                }
            }
            else if (importedAnimation is ImportedSampledAnimation)
            {
                List <ImportedAnimationSampledTrack> importedTrackList = ((ImportedSampledAnimation)importedAnimation).TrackList;
                this.TrackOptions = new Dictionary <ImportedAnimationTrack, AdditionalTrackOptions>(importedTrackList.Count);
                for (int i = 0; i < importedTrackList.Count; i++)
                {
                    ImportedAnimationTrack track   = importedTrackList[i];
                    AdditionalTrackOptions options = new AdditionalTrackOptions();
                    this.TrackOptions.Add(track, options);
                }
            }
        }
Пример #2
0
        public void SetAnimation(ImportedAnimation importedAnimation)
        {
            if (importedAnimation is ImportedKeyframedAnimation)
            {
                List <ImportedAnimationKeyframedTrack> importedTrackList = ((ImportedKeyframedAnimation)importedAnimation).TrackList;
                for (int i = 0; i < importedTrackList.Count; i++)
                {
                    ImportedAnimationTrack track = importedTrackList[i];

                    foreach (KeyValuePair <ImportedAnimationTrack, AdditionalTrackOptions> pair in this.TrackOptions)
                    {
                        if (pair.Key.Name == track.Name)
                        {
                            this.TrackOptions.Remove(pair.Key);
                            this.TrackOptions.Add(track, pair.Value);
                            track = null;
                            break;
                        }
                    }
                    if (track != null)
                    {
                        AdditionalTrackOptions options = new AdditionalTrackOptions();
                        this.TrackOptions.Add(track, options);
                    }
                }
            }
            else if (importedAnimation is ImportedSampledAnimation)
            {
                List <ImportedAnimationSampledTrack> importedTrackList = ((ImportedSampledAnimation)importedAnimation).TrackList;
                for (int i = 0; i < importedTrackList.Count; i++)
                {
                    ImportedAnimationTrack track = importedTrackList[i];

                    foreach (KeyValuePair <ImportedAnimationTrack, AdditionalTrackOptions> pair in this.TrackOptions)
                    {
                        if (pair.Key.Name == track.Name)
                        {
                            this.TrackOptions.Remove(pair.Key);
                            this.TrackOptions.Add(track, pair.Value);
                            track = null;
                            break;
                        }
                    }
                    if (track != null)
                    {
                        AdditionalTrackOptions options = new AdditionalTrackOptions();
                        this.TrackOptions.Add(track, options);
                    }
                }
            }

            this.importedAnimation = importedAnimation;
        }
Пример #3
0
        public WorkspaceAnimation(ImportedAnimation importedAnimation) :
            base()
        {
            this.TrackList = importedAnimation.TrackList;

            this.TrackOptions = new Dictionary <ImportedAnimationTrack, AdditionalTrackOptions>(importedAnimation.TrackList.Count);
            foreach (ImportedAnimationTrack track in importedAnimation.TrackList)
            {
                AdditionalTrackOptions options = new AdditionalTrackOptions();
                this.TrackOptions.Add(track, options);
            }
        }
Пример #4
0
        public WorkspaceAnimation(ImportedAnimation importedAnimation)
            : base()
        {
            this.TrackList = importedAnimation.TrackList;

            this.TrackOptions = new Dictionary<ImportedAnimationTrack, AdditionalTrackOptions>(importedAnimation.TrackList.Count);
            foreach (ImportedAnimationTrack track in importedAnimation.TrackList)
            {
                AdditionalTrackOptions options = new AdditionalTrackOptions();
                this.TrackOptions.Add(track, options);
            }
        }