53 lines
1.2 KiB
C++
53 lines
1.2 KiB
C++
// Fill out your copyright notice in the Description page of Project Settings.
|
|
|
|
|
|
#include "QuestSystem.h"
|
|
|
|
|
|
// Sets default values for this component's properties
|
|
UQuestSystem::UQuestSystem()
|
|
{
|
|
// Set this component to be initialized when the game starts, and to be ticked every frame. You can turn these features
|
|
// off to improve performance if you don't need them.
|
|
PrimaryComponentTick.bCanEverTick = true;
|
|
|
|
static ConstructorHelpers::FClassFinder<UUserWidget> QuestWidgetClass(TEXT("/Game/Blueprints/Quest_UI/Quest_UI"));
|
|
QuestWidget = QuestWidgetClass.Class;
|
|
}
|
|
|
|
|
|
// Called when the game starts
|
|
void UQuestSystem::BeginPlay()
|
|
{
|
|
Super::BeginPlay();
|
|
|
|
|
|
}
|
|
|
|
|
|
// Called every frame
|
|
void UQuestSystem::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction)
|
|
{
|
|
Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
|
|
|
|
}
|
|
|
|
void UQuestSystem::CheckActiveQuestConditions()
|
|
{
|
|
for (UQuest* Quest : ActiveQuests)
|
|
{
|
|
if (Quest->CheckConditions(GetWorldState()))
|
|
{
|
|
CompletedQuests.Add(Quest);
|
|
Quest->ApplyRewards();
|
|
}
|
|
}
|
|
}
|
|
|
|
FJsonObject UQuestSystem::GetWorldState()
|
|
{
|
|
FJsonObject WorldState = FJsonObject();
|
|
return WorldState;
|
|
}
|
|
|