diff --git a/Engine.Core/Systems/Yields/WaitForSecondsYield.cs b/Engine.Core/Systems/Yields/WaitForSecondsYield.cs deleted file mode 100644 index da82083..0000000 --- a/Engine.Core/Systems/Yields/WaitForSecondsYield.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; - -namespace Engine.Core; - -public class WaitForSecondsYield(float seconds) : ICoroutineYield -{ - private readonly DateTime triggerTime = DateTime.UtcNow.AddSeconds(seconds); - - public bool Yield() => DateTime.UtcNow < triggerTime; -} diff --git a/Engine.Core/Systems/Yields/WaitForTimeYield.cs b/Engine.Core/Systems/Yields/WaitForTimeYield.cs new file mode 100644 index 0000000..6d213ef --- /dev/null +++ b/Engine.Core/Systems/Yields/WaitForTimeYield.cs @@ -0,0 +1,14 @@ +using System; + +namespace Engine.Core; + +public class WaitForTimeYield(float seconds = 0f, float milliseconds = 0f, float minutes = 0f, float hours = 0f) : ICoroutineYield +{ + private readonly DateTime triggerTime = DateTime.UtcNow + .AddHours(hours) + .AddMinutes(minutes) + .AddSeconds(seconds) + .AddMilliseconds(milliseconds); + + public bool Yield() => DateTime.UtcNow < triggerTime; +}