42 lines
995 B
C++
42 lines
995 B
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "UObject/ObjectMacros.h"
|
|
#include "Interfaces/IHttpRequest.h"
|
|
#include "Kismet/BlueprintAsyncActionBase.h"
|
|
|
|
#include "AsyncTaskDownloadImage.generated.h"
|
|
|
|
class UTexture2DDynamic;
|
|
|
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FDownloadImageDelegate, UTexture2DDynamic*, Texture);
|
|
|
|
UCLASS(MinimalAPI)
|
|
class UAsyncTaskDownloadImage : public UBlueprintAsyncActionBase
|
|
{
|
|
GENERATED_UCLASS_BODY()
|
|
|
|
public:
|
|
UFUNCTION(BlueprintCallable, meta=( BlueprintInternalUseOnly="true" ))
|
|
static UMG_API UAsyncTaskDownloadImage* DownloadImage(FString URL);
|
|
|
|
public:
|
|
|
|
UPROPERTY(BlueprintAssignable)
|
|
FDownloadImageDelegate OnSuccess;
|
|
|
|
UPROPERTY(BlueprintAssignable)
|
|
FDownloadImageDelegate OnFail;
|
|
|
|
public:
|
|
|
|
UMG_API void Start(FString URL);
|
|
|
|
private:
|
|
|
|
/** Handles image requests coming from the web */
|
|
void HandleImageRequest(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, bool bSucceeded);
|
|
};
|