Route loot pickup through checkpoints

This commit is contained in:
Meta Vens 2026-06-16 04:27:07 +01:00
commit 1fadd56464
5 changed files with 83 additions and 2 deletions

View file

@ -1570,6 +1570,23 @@ public class ActionGameManager : MonoBehaviour
return true;
}
public bool CommitLootPickup(Entity entity, ItemInstance item)
{
if (entity == null || item == null)
return false;
foreach (var cargoBay in entity.CargoBays)
{
if (!cargoBay.TryStore(item))
continue;
QueueRunCheckpoint("loot-pickup");
return true;
}
return false;
}
public bool CommitCargoItemTransfer(
EquippedCargoBay origin,
EquippedCargoBay destination,

View file

@ -25,7 +25,8 @@ public class ShieldManager : MonoBehaviour
var mine = other.collider.GetComponent<Mine>();
if (itemPickup)
{
if (Entity.CargoBays.Any(c => c.TryStore(itemPickup.Item)))
if (ActionGameManager.Instance != null &&
ActionGameManager.Instance.CommitLootPickup(Entity, itemPickup.Item))
{
// TODO: Pickup notification!
Destroy(itemPickup.gameObject);