// 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(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(GetWorld(), ItemSelector); if (ItemSelectorWidget == nullptr) { return; } else { ItemSelectorWidget->AddToViewport(0); } }