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); }
public MovieClipDataFrame(float duration, MovieClipDataSnapshotModifier modifier) { D.assert(duration > 0); this.modifier = modifier; this.duration = duration; }