Space Plunder
Loading...
Searching...
No Matches
QuestNotificationManager.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 "Blueprint/UserWidget.h"
7#include "Data/QuestData.h"
8#include "QuestNotificationManager.generated.h"
9
10
11//@TODO Turn this into a multipurpse Notification Manager for all Items
15UCLASS()
16class QUESTSYSTEM_API UQuestNotificationManager : public UUserWidget
17{
18 GENERATED_BODY()
19
20public:
21 UQuestNotificationManager(const FObjectInitializer& ObjectInitializer);
22
23 UFUNCTION(BlueprintCallable, Category="Quest System|Widget")
24 void AddNotificationToQueue(const EFilterQuestType NotificationType, const FQuestInfo& QuestInfo);
25 UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category="Quest System|Widget")
26 void ShowQuestNotifications();
27
28
29protected:
30 virtual bool Initialize() override;
31 virtual void NativeConstruct() override;
32
33 void AddNotification();
34
35
36 //- Notifications //
37 UPROPERTY(BlueprintReadWrite, Category="Quest System")
38 TArray<FQuestInfo> QuestNotificationInfoArray;
39 UPROPERTY(BlueprintReadWrite, Category="Quest System")
40 TArray<EFilterQuestType> QuestNotificationArray;
41 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Quest System|Widget")
42 float NextNotificationTime = 5.0f;
43 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Quest System|Widget")
44 float InitialNotificationDelay = 0.25f;
45
46 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Quest System|Widget|Debugging")
47 bool bDebuggingMode = true;
48
49 //- Widgets //
50 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="Quest System")
51 class UQuestNotificationWidget* QuestNotificationWidget = nullptr;
52 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta = (BindWidget), Category="Quest System")
53 class UOverlay* NotificationOverlay = nullptr;
54
55private:
56 UPROPERTY(EditAnywhere, Category="Quest System")
57 TSubclassOf<UQuestNotificationWidget> QuestNotificationWidgetClass = nullptr;
58
59 bool bIsShowingNotification = false;
60 int32 CurrentIndex = 0;
61 FTimerHandle NotificationTimerHandle;
62 FTimerHandle InitialNotificationTimerHandle;
63
64};
UCLASS(Blueprintable, BlueprintType, ClassGroup=(BucciGames), meta=(BlueprintSpawnableComponent)) class CHATSYSTEM_API UChatSystemComponent
Definition ChatSystemComponent.h:13
EFilterQuestType
Definition QuestData.h:28
Definition QuestNotificationManager.h:17
Definition QuestNotificationWidget.h:12
Definition QuestData.h:798