[Fix] Limited Use Modifier

This commit is contained in:
2026-03-05 09:52:26 +07:00
parent 72bbdc76af
commit 05c2619de4
7 changed files with 190 additions and 18 deletions
@@ -195,6 +195,36 @@ namespace YachtDice.Modifiers.Runtime
OnChanged?.Invoke();
}
public void RemoveExpired()
{
var changed = false;
var activeChanged = false;
for (var i = _instances.Count - 1; i >= 0; i--)
{
var instance = _instances[i];
if (!instance.IsExpired)
continue;
if (instance.IsActive)
activeChanged = true;
instance.IsActive = false;
_instances.RemoveAt(i);
changed = true;
}
if (!changed)
return;
_activeCacheDirty = true;
if (activeChanged)
OnActiveModifiersChanged?.Invoke(Active);
OnChanged?.Invoke();
}
private void RebuildActiveCache()
{
_activeCache.Clear();