/// Remove a updater public void Remove(IAnimationUpdater updater) { if (updaters.Contains(updater)) { updaters.Remove(updater); } }
/// Add a updater public void Add(IAnimationUpdater updater) { if (!updaters.Contains(updater)) { updaters.Add(updater); } }
/// Remove a updater public void Remove(IAnimationUpdater updater) { if (Updaters.Contains(updater)) { Updaters.Remove(updater); } }
/// Add a updater public void Add(IAnimationUpdater updater) { if (!Updaters.Contains(updater)) { Updaters.Add(updater); } }
private static void AddUpdaterToDict(Dictionary <string, IAnimationUpdater> dict, IAnimationUpdater updater) { if (dict.TryGetValue(updater.Name, out var existingUpdater)) { if (existingUpdater is AnimationGroupUpdater group) { group.Children.Add(updater); } else { dict.Remove(updater.Name); var newGroup = new AnimationGroupUpdater(updater.Name); newGroup.Children.Add(existingUpdater); newGroup.Children.Add(updater); dict.Add(newGroup.Name, newGroup); } } else { dict.Add(updater.Name, updater); } }