public partial class UIManager { public static bool IsUIInputBlocked => _isUIInputBlocked; private static bool _isUIInputBlocked; private float _inputBlockTimeRemaining; private const float NORMAL_INPUT_BLOCK_TIME = 0.15f; private const float CLOSE_INPUT_BLOCK_TIME = 0.3f; private void _UpdateInputBlockTimer(float dt) { if (_inputBlockTimeRemaining < 0.01f && _isUIInputBlocked) { _isUIInputBlocked = false; } if (_isUIInputBlocked) { _inputBlockTimeRemaining -= dt; } } /// /// 阻塞UI输入 - 普通操作(短时间) /// public void BlockUIForNormalOperation() { if (!_isUIInputBlocked) { _isUIInputBlocked = true; _inputBlockTimeRemaining = NORMAL_INPUT_BLOCK_TIME; } } /// /// 阻塞UI输入 - 关闭操作(长时间,强制执行) /// public void BlockUIForCloseOperation() { _isUIInputBlocked = true; _inputBlockTimeRemaining = CLOSE_INPUT_BLOCK_TIME; } }