#pragma once

#include "CoreMinimal.h"
#include "Kismet/BlueprintAsyncActionBase.h"
#include "PostEventAtLocationAsyncOutputPin.h"
#include "UObject/NoExportTypes.h"
#include "PostEventAtLocationAsync.generated.h"

class UObject;
class UAkAudioEvent;
class UPostEventAtLocationAsync;

UCLASS(Blueprintable)
class AKAUDIO_API UPostEventAtLocationAsync : public UBlueprintAsyncActionBase
{
	GENERATED_BODY()

public:
	UPROPERTY(EditAnywhere, BlueprintReadWrite, BlueprintAssignable)
	FPostEventAtLocationAsyncOutputPin Completed;

public:
	UFUNCTION(BlueprintCallable, BlueprintCosmetic)
	static UPostEventAtLocationAsync* PostEventAtLocationAsync(const UObject* WorldContextObject, UAkAudioEvent* AkEvent, FVector Location, FRotator Orientation);

private:
	UFUNCTION(BlueprintCallable)
	void PollPostEventFuture();

public:
	UPostEventAtLocationAsync();
};

FORCEINLINE uint32 GetTypeHash(const UPostEventAtLocationAsync) { return 0; }
