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:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user