// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "Curves/CurveFloat.h"
#include "Components/TimelineComponent.h"
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "StundeCount.generated.h"
UCLASS()
class ZWEIPROJEKT_API AStundeCount : public AActor
{
GENERATED_BODY()
public:
// Sets default values for this actor's properties
AStundeCount();
UPROPERTY(VisibleAnywhere)
UCurveFloat* DoorCurve;
UPROPERTY(VisibleAnywhere)
UTimelineComponent* DoorTimeline;
protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override;
public:
// Called every frame
virtual void Tick(float DeltaTime) override;
UFUNCTION()
void OnDoorCurveFloat(float val);
FOnTimelineFloat InterpFunction{};
};
// Fill out your copyright notice in the Description page of Project Settings.
#include "StundeCount.h"
#include "Engine/Engine.h"
#include "UObject/ConstructorHelpers.h"
#include "Kismet/KismetMathLibrary.h"
// Sets default values
AStundeCount::AStundeCount()
{
// 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;
static ConstructorHelpers::FObjectFinder<UCurveFloat> DoorCurveAsset(TEXT("/Game/objects/DoorCurve"));
if(DoorCurveAsset.Succeeded())
{
DoorCurve = DoorCurveAsset.Object;
}
InterpFunction.BindUFunction(this, FName{ TEXT("OnDoorCurveFloat") });
DoorTimeline = CreateDefaultSubobject<UTimelineComponent>(TEXT("DoorTimeline"));
DoorTimeline->AddInterpFloat(DoorCurve, InterpFunction);
}
// Called when the game starts or when spawned
void AStundeCount::BeginPlay()
{
Super::BeginPlay();
DoorTimeline->Play();
}
// Called every frame
void AStundeCount::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
}
void AStundeCount::OnDoorCurveFloat(float val)
{
//float CurveValue = val;
float LerpVal = UKismetMathLibrary::Lerp(0,100,val);
UE_LOG(LogTemp,Warning,TEXT("the value is: %f"), val);
//GEngine->AddOnScreenDebugMessage(-1, 10.f, FColor(255, 0, 0), TEXT("pos is: %f"), val);
}