if (!component.RefundAllowed || component.BoughtEntities.Count == 0)
return;
- for (var i = component.BoughtEntities.Count; i >= 0; i--)
+ for (var i = component.BoughtEntities.Count - 1; i >= 0; i--)
{
var purchase = component.BoughtEntities[i];
component.BoughtEntities.RemoveAt(i);
- if (_actions.TryGetActionData(purchase, out var actionComponent))
+ if (_actions.TryGetActionData(purchase, out var actionComponent, logError: false))
{
_actionContainer.RemoveAction(purchase, actionComponent);
}
EntityManager.DeleteEntity(purchase);
}
+ component.BoughtEntities.Clear();
+
foreach (var (currency, value) in component.BalanceSpent)
{
component.Balance[currency] += value;