Contextual interaction system #6

Merged
Dolobarsch merged 7 commits from Contextual-Interaction-System into main 2026-09-14 13:45:06 +02:00
Owner
No description provided.
Dolobarsch added 7 commits 2026-09-14 13:44:52 +02:00
Einführung eines modularen Interaktionssystems:
- Hinzufügen der `IInteractable`- und `IInteractionLookupProvider`-Schnittstellen.
- Implementierung der `UInteractionComponent` zur Steuerung von Interaktionen (Tippen, Halten, Kontextmenü).
- Integration der `InteractionComponent` in `KingshearthLegacyCharacter`.
- Hinzufügen des `InteractionContextMenuWidget` für UI-Interaktionen.
- Änderungen an `PlayerHUDWidget`, um Interaktions-Widgets zu unterstützen.
- Neue Assets und Konfigurationsänderungen für Kollisionen und Redirects.
- Verbesserte Modularität und Benutzerfreundlichkeit durch klare Trennung von Logik und Darstellung.
Neue Funktion `GetInteractableDisplayName` in `Interactable.h` hinzugefügt, um benutzerfreundliche Objektnamen für Interaktionsaufforderungen bereitzustellen.

Die Logik in `InteractionContextMenuWidget.cpp` wurde überarbeitet:
- Aufforderungen werden ausgeblendet, wenn keine Optionen verfügbar sind.
- Objektnamen werden in die Aufforderungen integriert.
- Zusätzliche Hinweise für sekundäre Interaktionen und Kontextmenüs hinzugefügt.

Binärdateien (`BP_BerryBush.uasset`, `BP_Campfire.uasset`, `BP_ThirdPersonCharacter.uasset`, `WBP_InteractionContextMenu.uasset`) aktualisiert.
Die Änderungen umfassen:
- Projektname in `DefaultGame.ini` auf "Kingshearth Legacy" geändert.
- Neue Konsolenvariablen für CommonUI hinzugefügt.
- `ListView` ersetzt `VerticalBox` für Kontextmenü-Optionen.
- `FInteractionOption` um `Icon` und `PromptOverride` erweitert.
- Debugging-Logs in `InteractionComponent.cpp` hinzugefügt.
- Neue Klassen: `UInteractionOptionEntryWidget` und `UInteractionOptionListItem`.
- Verbesserte Eingabeaufforderungslogik und Sichtbarkeitssteuerung.
- Binärdateien (`.uasset`) aktualisiert und neue hinzugefügt.
Die Datei `DefaultEngine.ini` wurde aktualisiert, um neue Kollisionsprofile hinzuzufügen und bestehende zu überarbeiten. Ein neuer Kanal `Interactable` wurde hinzugefügt. Alte Profile und Kanäle wurden mithilfe von Redirects auf neue Namen umgeleitet.

Die `TargetedHardwareClass` wurde auf `Desktop` gesetzt, und die `DefaultGraphicsPerformance` wurde auf `Maximum` geändert, um die Leistung für Desktop-Systeme zu optimieren.

`ActiveGameNameRedirects` und `ActiveClassRedirects` wurden hinzugefügt, um alte Spiel- und Klassennamen auf neue Namen für das Projekt `KingshearthLegacy` umzuleiten.

Die Datei `BP_Campfire.uasset` wurde ebenfalls geändert, jedoch sind die Änderungen binär und nicht im Detail sichtbar.
Ein neues "Hold-to-Interact"-System wurde implementiert, das es Spielern ermöglicht, durch Halten einer Taste mit Objekten zu interagieren.

- `UInteractionComponent` erweitert, um den Fortschritt des Halte-Timers zu berechnen und über das neue `OnInteractHoldProgressChanged`-Event zu übertragen.
- Neues Widget `UInteractionPromptWidget` eingeführt, das die Fortschrittsanzeige und Interaktionsaufforderungen modular handhabt.
- Veraltete Logik aus `UInteractionContextMenuWidget` entfernt und in `UInteractionPromptWidget` ausgelagert.
- Zwei neue Widgets (`WBP_InteractionBar.uasset`, `WBP_InteractionQuick.uasset`) hinzugefügt.
- Logging und neue Abhängigkeiten (`USegmentedBarWidget`) integriert.
- Verbesserte Modularität und Benutzererfahrung durch visuelles Feedback und klare Trennung der Logik.
Neue Methode `RefreshFocusedOptions()` hinzugefügt, um die Optionen des fokussierten Akteurs nach einer Interaktion zu aktualisieren. Änderungen an der Navigation im Kontextmenü: Begrenzte Navigation ersetzt zyklische Navigation.

`FInteractionOption` erweitert um `TextColorOverride` und `HighlightColorOverride`, um individuelle Farben für Optionen zu ermöglichen.

UI-Widgets (`InteractionOptionEntryWidget`) angepasst, um Hintergrund- und Hervorhebungsfarben dynamisch zu setzen. Hinweistext für sekundäre Interaktionen zeigt nun spezifische Optionennamen an.
Die Datei `BP_Campfire.uasset` wurde geändert
Dolobarsch merged commit c857293eb4 into main 2026-09-14 13:45:06 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Dolobarsch/KingshearthLegacy#6