using System; namespace OpenVIII { /// /// Countdown from a set value based on game elapsed time /// /// public class CountDown { #region Constructors public CountDown(TimeSpan timeSpan) => TS = timeSpan; public CountDown(double ms) => MS = ms; #endregion Constructors #region Properties public bool Done => TS <= TimeSpan.Zero; public double MS { get => TS.TotalMilliseconds; set => TS = TimeSpan.FromMilliseconds(value); } public TimeSpan TS { get; set; } #endregion Properties #region Methods /// /// Run Update() to pass time; To "pause" don't run update /// public bool Update() { if (!Done) { TS -= Memory.ElapsedGameTime; } return Done; } #endregion Methods } }