Files
riversong-code-showcase/Source/Engine/Helpers/AsyncBudget.cs
2026-05-21 16:04:49 +02:00

33 lines
585 B
C#

using Cysharp.Threading.Tasks;
using UnityEngine;
namespace DanieleMarotta.RiversongCodeShowcase
{
public class AsyncBudget
{
private int _max;
private int _counter;
public AsyncBudget(int max)
{
_max = max;
}
public async UniTask TickAsync()
{
if (++_counter > _max)
{
_counter = 0;
await UniTask.NextFrame();
}
}
public void Reset(int max)
{
_max = max;
_counter = 0;
}
}
}