Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HUD Health Widget Implementation #349

Open
wail opened this issue Aug 30, 2024 · 0 comments
Open

HUD Health Widget Implementation #349

wail opened this issue Aug 30, 2024 · 0 comments
Labels
Implementation Code Implementation Task
Milestone

Comments

@wail
Copy link
Collaborator

wail commented Aug 30, 2024

Our current HUD Health Display Widget (BP_Widget_Health) implementation has these problems:

Issues:

  • It is created & positioned as part of another widget
    • Problem: A singular master-widget will become a bottleneck for development in the future
  • Widget Dependencies: This widget inherits from other widgets and contains other subwidgets
    • Problem: Widget inheritance sucks in Unreal. If we need base-level functionality lets make a C++ widget class to handle this. It is also is too complex to figure out what is going on with this widget for how simple it is.
  • Gameplay Class Dependencies: This widget directly queries our GAS ASC HealthAttribute.
    • Problem: We don't want our UI to directly depend on our gameplay classes like this, especially because it should be very simple to use the GameplayMessageSubsystem to broadcast HealthAttribute changes to the UI and thus avoid any direct dependencies.

Subtasks

  • The HUD Health Widget should be created via a GameFeatureAction_AddWidget which adds a HUD widget to the Experience
  • The HUD Health Widget should be spawned into a widget called the StandardHUD utilizing a soft-linkage of GameplayTag to slot the widget into a predefined position
  • Simplify the architecture of the HUD Health Widget (add C++ base class if necessary)
  • Add GameplayMessage to communicate data between HealthComponent/HealthAttribute and Widget
@wail wail converted this from a draft issue Aug 30, 2024
@wail wail added this to the Milestone 1 milestone Aug 30, 2024
@wail wail added the Implementation Code Implementation Task label Aug 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Implementation Code Implementation Task
Projects
Status: To do
Development

No branches or pull requests

1 participant