Clock.cs 553 B

12345678910111213141516171819202122232425
  1. using System;
  2. namespace Avalonia.Animation
  3. {
  4. public class Clock : ClockBase
  5. {
  6. public static IClock GlobalClock => AvaloniaLocator.Current.GetRequiredService<IGlobalClock>();
  7. private readonly IDisposable _parentSubscription;
  8. public Clock() : this(GlobalClock)
  9. {
  10. }
  11. public Clock(IClock parent)
  12. {
  13. _parentSubscription = parent.Subscribe(Pulse);
  14. }
  15. protected override void Stop()
  16. {
  17. _parentSubscription?.Dispose();
  18. }
  19. }
  20. }