AzureAbyss/Source/the_twilight_abyss/Quest/QuestSystem.h

41 lines
1.0 KiB
C++

// 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<UQuest*> ActiveQuests;
TArray<UQuest*> CompletedQuests;
TArray<FString> CompletedQuestLines;
TMap<FString, bool> QuestFlags;
protected:
// Called when the game starts
virtual void BeginPlay() override;
UPROPERTY()
TSubclassOf<UUserWidget> QuestWidget;
FJsonObject WorldStateJsonTemplate;
public:
// Called every frame
virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
void CheckActiveQuestConditions();
FJsonObject GetWorldState();
};