A game about forced loneliness, made by TACStudios
at master 1.5 kB view raw
1using System; 2using System.Timers; 3 4using Codice.Client.Common.Threading; 5 6namespace Unity.PlasticSCM.Editor.UI 7{ 8 internal class UnityPlasticTimerBuilder : IPlasticTimerBuilder 9 { 10 IPlasticTimer IPlasticTimerBuilder.Get(bool bModalMode, ThreadWaiter.TimerTick timerTickDelegate) 11 { 12 return new UnityPlasticTimer(DEFAULT_TIMER_INTERVAL, timerTickDelegate); 13 } 14 15 IPlasticTimer IPlasticTimerBuilder.Get(bool bModalMode, int timerInterval, ThreadWaiter.TimerTick timerTickDelegate) 16 { 17 return new UnityPlasticTimer(timerInterval, timerTickDelegate); 18 } 19 20 const int DEFAULT_TIMER_INTERVAL = 100; 21 } 22 23 internal class UnityPlasticTimer : IPlasticTimer 24 { 25 internal UnityPlasticTimer(int timerInterval, ThreadWaiter.TimerTick timerTickDelegate) 26 { 27 mTimerInterval = timerInterval; 28 mTimerTickDelegate = timerTickDelegate; 29 } 30 31 void IPlasticTimer.Start() 32 { 33 mTimer = new Timer(); 34 mTimer.Interval = mTimerInterval; 35 mTimer.Elapsed += OnTimerTick; 36 37 mTimer.Start(); 38 } 39 40 void IPlasticTimer.Stop() 41 { 42 mTimer.Stop(); 43 mTimer.Elapsed -= OnTimerTick; 44 mTimer.Dispose(); 45 } 46 47 void OnTimerTick(object sender, EventArgs e) 48 { 49 mTimerTickDelegate(); 50 } 51 52 Timer mTimer; 53 int mTimerInterval; 54 ThreadWaiter.TimerTick mTimerTickDelegate; 55 } 56}