AzureAbyss/Source/the_twilight_abyss/MerchantInteraction/Interaction.cpp

63 lines
1.3 KiB
C++
Raw Normal View History

// Fill out your copyright notice in the Description page of Project Settings.
#include "Interaction.h"
#include "Chaos/BoundingVolumeUtilities.h"
#include "Components/WidgetComponent.h"
// Sets default values
AInteraction::AInteraction()
{
// Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it.
PrimaryActorTick.bCanEverTick = true;
}
// Called when the game starts or when spawned
void AInteraction::BeginPlay()
{
Super::BeginPlay();
}
// Called every frame
void AInteraction::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
}
void AInteraction::OnInteract()
{
ShopDialogWidget = CreateWidget<UUserWidget>(GetWorld(), ShopDialog);
if (ShopDialogWidget == nullptr)
{
return;
}
else
{
ShopDialogWidget->AddToViewport(0);
}
//handles the widget disappearing from the viewport
FTimerHandle WidgetTimer;
GetWorldTimerManager().SetTimer(WidgetTimer, this, &AInteraction::RemoveWidget, WaitTimer, false);
}
void AInteraction::RemoveWidget()
{
bisDisabled = true;
ShopDialogWidget->RemoveFromViewport();
UE_LOG(LogTemp, Display, TEXT("setting isDisabled to true"));
ItemSelectorWidget = CreateWidget<UUserWidget>(GetWorld(), ItemSelector);
if (ItemSelectorWidget == nullptr)
{
return;
}
else
{
ItemSelectorWidget->AddToViewport(0);
}
}