From f57960bed6eca69cdd5c2f75166b483afa48857d Mon Sep 17 00:00:00 2001 From: PHILIP White Date: Wed, 29 Mar 2023 17:36:24 +0100 Subject: [PATCH] Added Quest System Stub --- Content/Levels/Build.umap | 4 +-- Source/the_twilight_abyss/Quest/FWorldState.h | Bin 0 -> 306 bytes Source/the_twilight_abyss/Quest/Quest.cpp | 20 +++++++++++ Source/the_twilight_abyss/Quest/Quest.h | 31 ++++++++++++++++++ .../the_twilight_abyss/Quest/QuestSystem.cpp | 18 ++++++++++ Source/the_twilight_abyss/Quest/QuestSystem.h | 19 ++++++----- .../the_twilight_abyss.Build.cs | 2 +- 7 files changed, 82 insertions(+), 12 deletions(-) create mode 100644 Source/the_twilight_abyss/Quest/FWorldState.h create mode 100644 Source/the_twilight_abyss/Quest/Quest.cpp create mode 100644 Source/the_twilight_abyss/Quest/Quest.h diff --git a/Content/Levels/Build.umap b/Content/Levels/Build.umap index b8e51cb..e7c7969 100644 --- a/Content/Levels/Build.umap +++ b/Content/Levels/Build.umap @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a5d06e03b062da9234d1031908a1fa3c338d3783545004c83604516663388532 -size 1198477 +oid sha256:a187839ef7cf7d89b3e08cef9cf0c55156de9bc59e743502f51ca39cd6610ce2 +size 3402514 diff --git a/Source/the_twilight_abyss/Quest/FWorldState.h b/Source/the_twilight_abyss/Quest/FWorldState.h new file mode 100644 index 0000000000000000000000000000000000000000..a8bd535c07e88549853a8c925dd0d4fd25d32f64 GIT binary patch literal 306 zcmZvYy$ZrW5QM*0!FLGSXpBQ=B!>p#4>1-ZzPdWMB3Pu@o4eWFnc?2A z4i`#x>^bTTICCP!(V}V9AvdPrMkYR>O{A$(_o?-A+bjq`%vQtu(zP5k|r;LwpivseQ6a>|HNM&%CcA~fO=Q2`>^Q-6Jlnn Wgn^V|Mr`FV7jESC)%^X%lRh7MCheckConditions(GetWorldState())) + { + CompletedQuests.Add(Quest); + Quest->ApplyRewards(); + } + } +} + +FJsonObject UQuestSystem::GetWorldState() +{ + FJsonObject WorldState = FJsonObject(); + return WorldState; +} + diff --git a/Source/the_twilight_abyss/Quest/QuestSystem.h b/Source/the_twilight_abyss/Quest/QuestSystem.h index 52979f0..d105bf4 100644 --- a/Source/the_twilight_abyss/Quest/QuestSystem.h +++ b/Source/the_twilight_abyss/Quest/QuestSystem.h @@ -6,17 +6,9 @@ #include "Components/ActorComponent.h" #include "Components/TextBlock.h" #include "Blueprint/UserWidget.h" +#include "Quest.h" #include "QuestSystem.generated.h" -// UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent)) -// class UQuest : public UObject -// { -// GENERATED_BODY() -// -// public: -// -// }; - UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent)) class THE_TWILIGHT_ABYSS_API UQuestSystem : public UActorComponent { @@ -26,6 +18,11 @@ public: // Sets default values for this component's properties UQuestSystem(); + TArray ActiveQuests; + TArray CompletedQuests; + TArray CompletedQuestLines; + TMap QuestFlags; + protected: // Called when the game starts virtual void BeginPlay() override; @@ -33,7 +30,11 @@ protected: UPROPERTY() TSubclassOf QuestWidget; + FJsonObject WorldStateJsonTemplate; + public: // Called every frame virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override; + void CheckActiveQuestConditions(); + FJsonObject GetWorldState(); }; diff --git a/Source/the_twilight_abyss/the_twilight_abyss.Build.cs b/Source/the_twilight_abyss/the_twilight_abyss.Build.cs index b8c5d17..53967db 100644 --- a/Source/the_twilight_abyss/the_twilight_abyss.Build.cs +++ b/Source/the_twilight_abyss/the_twilight_abyss.Build.cs @@ -8,7 +8,7 @@ public class the_twilight_abyss : ModuleRules { PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; - PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "UMG", "Niagara", "AIModule" }); + PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "UMG", "Niagara", "AIModule", "Json" }); PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });