Space Plunder
Loading...
Searching...
No Matches
HUDInterface.h
Go to the documentation of this file.
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "GameplayTagContainer.h"
7#include "UObject/Interface.h"
8#include "HUDInterface.generated.h"
9
11struct FRadialMenuData;
12// This class does not need to be modified.
13UINTERFACE(NotBlueprintable)
14class UHUDInterface : public UInterface
15{
16 GENERATED_BODY()
17};
18
22class BASEHELPERS_API IHUDInterface
23{
24 GENERATED_BODY()
25
26public:
27 virtual bool RegisterLayer(const FGameplayTag& LayerName, UUserWidget* LayerWidget) = 0;
28 virtual UUserWidget* PushContentToLayer(const FGameplayTag& LayerName, const TSoftClassPtr<UUserWidget>& WidgetClass) = 0;
29 virtual UUserWidget* GetContentFromLayer(const FGameplayTag& LayerName, const TSoftClassPtr<UUserWidget>& WidgetClass) = 0;
30 virtual bool PopContentFromLayer(const FGameplayTag& LayerName) = 0;
31 virtual bool ClearLayer(const FGameplayTag& LayerName) = 0;
32 virtual bool ToggleWidget(const FGameplayTag& LayerName, UUserWidget* Widget) = 0;
33 virtual UUserWidget* AddWidgetToLayer(const FGameplayTag& LayerName, const TSoftClassPtr<UUserWidget>& WidgetClass) = 0;
34 virtual UUserWidget* AddWidgetToLayerWithSlot(const FGameplayTag& LayerName, const FGameplayTag& SlotTag, const TSoftClassPtr<UUserWidget>& WidgetClass) = 0;
35
36 //@ TODO Get is Widget Visible?
37
38 UFUNCTION(BlueprintCallable, Category="HUD")
39 virtual void HUDSelectionVertical(const bool bMoveUp = true) = 0;
40 UFUNCTION(BlueprintCallable, Category="HUD")
41 virtual void HUDSelectionHorizontal(const bool bMoveRight = true) = 0;
42
43 UFUNCTION(BlueprintCallable, Category="HUD")
44 virtual void HUDConfirm() = 0;
45 UFUNCTION(BlueprintCallable, Category="HUD")
46 virtual void HUDCancel() = 0;
47
48
49 //@ TODO Add Creating Notifications to Character Components
50 UFUNCTION(BlueprintCallable, Category="HUD")
51 virtual bool RegisterNotificationManager(const FGameplayTag Type, UUserWidget* ManagerWidget) = 0;
52 UFUNCTION(BlueprintCallable, Category="HUD")
53 virtual bool AddNotificationToQueue(const FGameplayTag Type, const FNotificationData& Data) = 0;
54
55
56 virtual void OpenRadialMenu(const FRadialMenuData& Data) = 0;
58 virtual int32 CloseRadialMenu() = 0;
59 virtual bool GetIsRadialMenuOpen() const = 0;
60
61
62 virtual void ToggleGameLog() = 0;
63
64};
Definition HUDInterface.h:23
virtual UUserWidget * AddWidgetToLayerWithSlot(const FGameplayTag &LayerName, const FGameplayTag &SlotTag, const TSoftClassPtr< UUserWidget > &WidgetClass)=0
virtual UUserWidget * GetContentFromLayer(const FGameplayTag &LayerName, const TSoftClassPtr< UUserWidget > &WidgetClass)=0
virtual bool ClearLayer(const FGameplayTag &LayerName)=0
virtual UUserWidget * PushContentToLayer(const FGameplayTag &LayerName, const TSoftClassPtr< UUserWidget > &WidgetClass)=0
virtual UUserWidget * AddWidgetToLayer(const FGameplayTag &LayerName, const TSoftClassPtr< UUserWidget > &WidgetClass)=0
virtual bool PopContentFromLayer(const FGameplayTag &LayerName)=0
virtual bool RegisterLayer(const FGameplayTag &LayerName, UUserWidget *LayerWidget)=0
virtual bool ToggleWidget(const FGameplayTag &LayerName, UUserWidget *Widget)=0
Definition HUDInterface.h:15
Definition RadialWheelData.h:17
Definition RadialWheelData.h:100