Files
BallCrushBest_GP/Assets/Scripts/ToolKit/Debounce.cs
T

31 lines
692 B
C#
Raw Normal View History

2026-04-20 12:06:34 +08:00
namespace BallKingdomCrush
{
using System;
using UnityEngine;
public class Throttle
{
private float _lastTime;
private readonly float _interval;
public Throttle(float intervalSeconds)
{
_interval = intervalSeconds;
_lastTime = -intervalSeconds; // 确保一开始就能执行
}
/// <summary>
/// 节流调用:在时间窗口内只执行一次
/// </summary>
public void Execute(Action action)
{
if (Time.time - _lastTime >= _interval)
{
_lastTime = Time.time;
action?.Invoke();
}
}
}
}