Пример #1
0
        public MovieClipSnapshot copyWith(MovieClipDataSnapshotModifier modifier, float duration)
        {
            D.assert(duration > 0);
            Dictionary <string, MovieClipObject> updatedDictionary = new Dictionary <string, MovieClipObject>();
            float newTimestamp = timestamp + duration;

            foreach (var entry in objects)
            {
                var obj = entry.Value;
                if (obj.deathTime == null || obj.deathTime > newTimestamp)
                {
                    updatedDictionary.Add(entry.Key, entry.Value);
                }
            }
            var snapshot = new MovieClipSnapshot(
                objects.ToDictionary(
                    entry => entry.Key,
                    entry => (MovieClipObject)entry.Value.Clone()
                    ),
                timestamp
                );

            snapshot._defaultDuration = duration;
            modifier(snapshot);
            snapshot._timestamp = newTimestamp;

            return(snapshot);
        }
Пример #2
0
 public MovieClipDataFrame(float duration, MovieClipDataSnapshotModifier modifier)
 {
     D.assert(duration > 0);
     this.modifier = modifier;
     this.duration = duration;
 }