// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #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 THE_TWILIGHT_ABYSS_API UQuestSystem : public UActorComponent { GENERATED_BODY() 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; UPROPERTY() TSubclassOf QuestWidget; FJsonObject WorldStateJsonTemplate; public: // Called every frame virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override; void CheckActiveQuestConditions(); FJsonObject GetWorldState(); };