feat(economy): add Bestellsystem mit Lieferzeit

- SupplierService: Bestellungen mit Lieferzeit-Berechnung
- OrderTerminal: Spieler-Interaktion zum Aufgeben von Bestellungen
- StorageCrateRegistry + StorageCrate.Restock: Server registriert Kisten
  und füllt sie bei Lieferung wieder auf
- GameClock.TotalHours: durchgehende Spielzeit für Lieferzeit-Berechnung
- ROADMAP: Bestellsystem-Punkt als erledigt markiert

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-14 19:17:36 +02:00
co-authored by Claude Sonnet 5
parent 2b48b76a91
commit 7e4cebbf13
11 changed files with 202 additions and 2 deletions
+16 -1
View File
@@ -25,7 +25,15 @@ namespace AfterHours.Shop
public override void OnNetworkSpawn()
{
if (IsServer) _quantity.Value = _startingQuantity;
if (!IsServer) return;
_quantity.Value = _startingQuantity;
StorageCrateRegistry.Instance.Register(this);
}
public override void OnNetworkDespawn()
{
if (IsServer) StorageCrateRegistry.Instance.Unregister(this);
}
public string GetPrompt(ulong clientId)
@@ -45,5 +53,12 @@ namespace AfterHours.Shop
int taken = hands.TryTake(_productId, want);
_quantity.Value -= taken;
}
/// <summary>Server: Lieferung trifft ein.</summary>
public void Restock(int quantity)
{
if (!IsServer || quantity <= 0) return;
_quantity.Value += quantity;
}
}
}