diff --git a/Engine.Core/Systems/CoroutineYield.cs b/Engine.Core/Systems/CoroutineYield.cs deleted file mode 100644 index 44e3f5b..0000000 --- a/Engine.Core/Systems/CoroutineYield.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; - -namespace Engine.Core; - -public class CoroutineYield(Func condition) : ICoroutineYield -{ - private readonly Func condition = condition; - - public bool Yield() => condition.Invoke(); -} diff --git a/Engine.Core/Systems/Yields/WaitUntilYield.cs b/Engine.Core/Systems/Yields/WaitUntilYield.cs new file mode 100644 index 0000000..18d29f9 --- /dev/null +++ b/Engine.Core/Systems/Yields/WaitUntilYield.cs @@ -0,0 +1,10 @@ +using System; + +namespace Engine.Core; + +public class WaitUntilYield(Func condition) : ICoroutineYield +{ + private readonly Func condition = condition; + + public bool Yield() => !condition.Invoke(); +} diff --git a/Engine.Systems/Tween/Yields/WaitForTweenCompleteCoroutineYield.cs b/Engine.Systems/Tween/Yields/WaitForTweenCompleteCoroutineYield.cs index b574530..db4702e 100644 --- a/Engine.Systems/Tween/Yields/WaitForTweenCompleteCoroutineYield.cs +++ b/Engine.Systems/Tween/Yields/WaitForTweenCompleteCoroutineYield.cs @@ -2,4 +2,4 @@ using Engine.Core; namespace Engine.Systems.Tween; -public class WaitForTweenCompleteCoroutineYield(ITween tween) : CoroutineYield(() => tween.State == TweenState.Completed); +public class WaitForTweenCompleteCoroutineYield(ITween tween) : WaitUntilYield(() => tween.State == TweenState.Completed); diff --git a/Engine.Systems/Tween/Yields/WaitForTweenDoneCoroutineYield.cs b/Engine.Systems/Tween/Yields/WaitForTweenDoneCoroutineYield.cs index 3ab3d78..c57853e 100644 --- a/Engine.Systems/Tween/Yields/WaitForTweenDoneCoroutineYield.cs +++ b/Engine.Systems/Tween/Yields/WaitForTweenDoneCoroutineYield.cs @@ -2,4 +2,4 @@ using Engine.Core; namespace Engine.Systems.Tween; -public class WaitWhileTweenActiveCoroutineYield(ITween tween) : CoroutineYield(() => tween.State.CheckFlag(TweenState.Completed | TweenState.Cancelled)); +public class WaitWhileTweenActiveCoroutineYield(ITween tween) : WaitUntilYield(() => tween.State.CheckFlag(TweenState.Completed | TweenState.Cancelled));