Added New Mini Waypoint Class with Visibility Toggle
This commit is contained in:
parent
787c9c76f1
commit
153e026354
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7f2025158a6ae81155530070b6becb40850e60358ca27e87bee12a410a19bb53
|
||||
size 100344
|
||||
oid sha256:a523b2149e46a3b369ca97e969d9a3f241a7af78f45b6500febbe252b9a53193
|
||||
size 100785
|
||||
|
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:48aab2df957e2a9988712c7a2913d041000b8948f572298a8d8f23c759161e0a
|
||||
size 39684
|
@ -16,7 +16,6 @@ AWaypointActor::AWaypointActor()
|
||||
// Called when the game starts or when spawned
|
||||
void AWaypointActor::BeginPlay()
|
||||
{
|
||||
SetActorTickEnabled(false);
|
||||
Super::BeginPlay();
|
||||
|
||||
SetActorTickInterval(0.05);
|
||||
@ -24,7 +23,9 @@ void AWaypointActor::BeginPlay()
|
||||
PlayersCam = Cast<UCameraComponent>(PlayerActor->GetComponentByClass(UCameraComponent::StaticClass()));
|
||||
ScalingMagnitude = (ScaleAtMaxDist - ScaleAtMinDist) / (MaxDist - MinDist);
|
||||
ScalingY_Intercept = ScaleAtMaxDist - (MaxDist * ScalingMagnitude);
|
||||
if (PlayersCam) SetActorTickEnabled(true);
|
||||
|
||||
MiniWaypoint = CreateWidget<UMiniWaypoint>(GetWorld(), MiniWaypointClass);
|
||||
MiniWaypoint->AddToViewport(1);
|
||||
}
|
||||
|
||||
// Called every frame
|
||||
@ -36,10 +37,12 @@ void AWaypointActor::Tick(float DeltaTime)
|
||||
{
|
||||
UpdateVisibility(true);
|
||||
UpdateScaleAndRotation();
|
||||
MiniWaypoint->UpdateVisibility(false);
|
||||
return;
|
||||
}
|
||||
|
||||
UpdateVisibility(false);
|
||||
MiniWaypoint->UpdateVisibility(true);
|
||||
|
||||
|
||||
}
|
||||
|
@ -4,6 +4,7 @@
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "Camera/CameraComponent.h"
|
||||
#include "EndlessVendetta/UserWidgets/MiniWaypoint.h"
|
||||
#include "GameFramework/Actor.h"
|
||||
#include "WaypointActor.generated.h"
|
||||
|
||||
@ -21,6 +22,11 @@ class ENDLESSVENDETTA_API AWaypointActor : public AActor
|
||||
UPROPERTY(EditDefaultsOnly, Category = "Waypoint")
|
||||
float WaypointFocusDistance = 3000;
|
||||
|
||||
UPROPERTY(EditDefaultsOnly, Category = "Waypoint")
|
||||
TSubclassOf<UMiniWaypoint> MiniWaypointClass;
|
||||
|
||||
UMiniWaypoint* MiniWaypoint;
|
||||
|
||||
UPROPERTY(EditDefaultsOnly, Category = "Waypoint Scaling")
|
||||
float MaxDist = 16000.f;
|
||||
|
||||
|
@ -0,0 +1,5 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
|
||||
#include "MiniWaypoint.h"
|
||||
|
@ -0,0 +1,21 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "Blueprint/UserWidget.h"
|
||||
#include "MiniWaypoint.generated.h"
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
UCLASS()
|
||||
class ENDLESSVENDETTA_API UMiniWaypoint : public UUserWidget
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
UFUNCTION(BlueprintImplementableEvent)
|
||||
void UpdateVisibility(bool IsVisible);
|
||||
|
||||
};
|
Loading…
Reference in New Issue
Block a user