#pragma once #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "HexVector.h" #include "MovementArrow.generated.h" class USceneComponent; class UStaticMeshComponent; class AAdventureMap; UCLASS() class FRAY_API AMovementArrow : public AActor { GENERATED_BODY() public: // Sets default values for this actor's properties AMovementArrow(); UPROPERTY(BlueprintReadOnly, Category = "Config") AAdventureMap* MapRef; UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Config") USceneComponent* SceneComponent; UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Variant") UStaticMeshComponent* MeshStraight; UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Variant") UStaticMeshComponent* MeshRight; UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Variant") UStaticMeshComponent* MeshRightSharp; UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Variant") UStaticMeshComponent* MeshLeftSharp; UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Variant") UStaticMeshComponent* MeshLeft; UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Variant") TArray MeshVariants; UFUNCTION(BlueprintCallable, Category = "Variant") void SetVariant(FHexVector InVector, FHexVector OutVector); protected: // Called when the game starts or when spawned virtual void BeginPlay() override; public: // Called every frame virtual void Tick(float DeltaTime) override; };