Code/ICoroutineStaller.cs
using static Sandbox.GameObjectSystem;
namespace Coroutines;
/// <summary>
/// Defines a type that can stall a coroutine.
/// </summary>
public interface ICoroutineStaller
{
/// <summary>
/// Returns whether or not the staller has completed.
/// </summary>
bool IsComplete { get; }
/// <summary>
/// Returns the way for the staller to be updated and execution to continue.
/// </summary>
Stage PollingStage { get; }
/// <summary>
/// Updates the stallers state.
/// </summary>
void Update();
}