Skip to content

Drop- und Power-up-Visuals

Status: aktiv

Zweck

World-Drops nutzen austauschbare Godot-Szenen fuer die Darstellung. Pickup-Logik, Collision und Seed-Determinismus bleiben in WorldDrop3D / Shared Drop-Domain.

Ressourcen

Rolle Pfad
Catalog res://Resources/Drops/DropVisualCatalog.tres
Recovery-Szenen res://Features/Dungeons/Run/Drops/Visuals/{Ammo,Health,Armor}RestoreVisual.tscn
Power-up-Szenen res://Features/Dungeons/Run/Drops/Visuals/PowerUps/*.tscn
Power-up-Presentation res://Resources/Drops/PowerUps/*Presentation.tres
Factory Features/Dungeons/Run/Drops/DropVisualFactory.cs

WorldDrop3D.tscn referenziert den Catalog ueber [Export] VisualCatalog (kein String-Load pro Spawn).

Neues Recovery-Visual

  1. Szene mit Root Node3D anlegen (nur Mesh/VFX/Licht/Animation).
  2. Keine CollisionShape3D und keine Pickup-Skripte in der Visual-Szene.
  3. Im DropVisualCatalog den passenden Slot setzen (AmmoRestoreVisual / HealthRestoreVisual / ArmorRestoreVisual).

Neues Power-up-Visual

  1. Shared-Domain-Power-up wie bisher in PhaseOnePowerUpCatalog anlegen (Gameplay).
  2. Visual-Szene mit Root Node3D erstellen.
  3. Game3D-PowerUpDefinition-Resource anlegen oder erweitern:
  4. Id = stabile Shared-ID (z. B. powerup_overcharged_rounds)
  5. WorldVisualScene = die Visual-Szene
  6. Resource in DropVisualCatalog.PowerUpDefinitions eintragen.
  7. Kein Switch und keine Factory-Aenderung noetig.

Fallback

Fehlt die Szene oder ist der Root kein Node3D, erzeugt DropVisualFactory das bisherige Development-Mesh und schreibt eine Warnung bzw. einen Error (DropKind, optional PowerUpId).