Oakfolks Gold_1.14
Oakfolks coop game
Loading...
Searching...
No Matches
UI_Subsystem.h
1#pragma once
2
3#include "CoreMinimal.h"
4#include "Subsystems/GameInstanceSubsystem.h"
5#include "BCR/Headers/System/UI_Quest/QuestData.h"
6#include "UI_Subsystem.generated.h"
7
10DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnQuestCompleted, FString, tag);
11DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnQuestLineCompleted, FString, tag);
12
14
19UCLASS()
20class BCR_API UQuest_Subsystem : public UGameInstanceSubsystem
21{
22 GENERATED_BODY()
23
24public :
25
27 virtual void Initialize(FSubsystemCollectionBase& Collection) override;
28 virtual void Deinitialize() override;
29
32 UFUNCTION(BlueprintCallable, Category = "Quest")
33 void LoadQuestLine(UQuestData* NewQuestLine);
34
36 UFUNCTION(BlueprintCallable, Category = "Quest")
37 void CompleteQuest(FString Tag);
38 UFUNCTION(BlueprintCallable, Category = "Quest")
39 void ProgressQuest(FString Tag);
40
43 UFUNCTION(BlueprintCallable, Category = "Quest")
44 FString GetCurrentQuestDesc();
45 UFUNCTION(BlueprintCallable, Category = "Quest")
46 FString GetCurrentQuestTag();
47 UFUNCTION(BlueprintCallable, Category = "Quest")
48 int GetCurrentQuestAmount();
49 UFUNCTION(BlueprintCallable, Category = "Quest")
50 int GetCurrentQuestProgress();
51
54 UPROPERTY(BlueprintAssignable, Category = "Quest")
55 FOnQuestCompleted OnQuestCompleted;
56 UPROPERTY(BlueprintAssignable, Category = "Quest")
57 FOnQuestLineCompleted OnQuestLineCompleted;
58
59private :
60
63 FQuestLineStruct CurrentQuestLine;
64 FQuestStruct CurrentQuest;
65 int QuestTarget;
66};
Data asset container for quest line configurations.
Definition QuestData.h:58
Quest management subsystem for tracking player progress.
Definition UI_Subsystem.h:21
Complete quest line containing multiple linked quests.
Definition QuestData.h:40
Individual quest information and progression data.
Definition QuestData.h:15