public override void CompletePurchase() { float totalPrice = GetTotalPrice(); bool success = totalPrice <= Stats.Money; if (!success) { GameLibOfMethods.CreateFloatingText("Not enough money.", 2); AlertNotification(); return; } Stats.RemoveMoney(totalPrice); foreach (var item in basketItems) { var upgradeData = (FurnitureItemData)item.currentItem; UpgradesManager.GetValidator(upgradeData.Type).ApplyUpgrade(upgradeData.LinkedPrefab); Destroy(item.gameObject); } basketItems.Clear(); ResetToDefault(); currentlyOpenStore.ForceRefresh(); }