Fix store refunds (#26173)

This commit is contained in:
metalgearsloth
2024-03-17 01:06:17 +11:00
committed by GitHub
parent 6aa77700c1
commit f8d023f286

View File

@@ -323,7 +323,7 @@ public sealed partial class StoreSystem
if (!component.RefundAllowed || component.BoughtEntities.Count == 0) if (!component.RefundAllowed || component.BoughtEntities.Count == 0)
return; 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]; var purchase = component.BoughtEntities[i];
@@ -332,7 +332,7 @@ public sealed partial class StoreSystem
component.BoughtEntities.RemoveAt(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); _actionContainer.RemoveAction(purchase, actionComponent);
} }
@@ -340,6 +340,8 @@ public sealed partial class StoreSystem
EntityManager.DeleteEntity(purchase); EntityManager.DeleteEntity(purchase);
} }
component.BoughtEntities.Clear();
foreach (var (currency, value) in component.BalanceSpent) foreach (var (currency, value) in component.BalanceSpent)
{ {
component.Balance[currency] += value; component.Balance[currency] += value;