API/Autodoc/Files/UTextureDownloader.cpp.en.md
Source code
// Copyright Epic Games, Inc. All Rights Reserved.
#include "Serialization/BulkData.h"
using namespace RuStoreSDK;
UTextureDownloader::UTextureDownloader(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer)
{
}
UTextureDownloader* UTextureDownloader::DownloadImage(FString url)
{
UTextureDownloader* blueprintNode = NewObject<UTextureDownloader>(GetTransientPackage());
blueprintNode->Start(url, blueprintNode);
return blueprintNode;
}
void UTextureDownloader::Start(const FString url, UTextureDownloader* object)
{
AsyncTask(ENamedThreads::AnyThread, [url, object]()
{
auto texture2D = object->DownloadImageAsTexture2D(url);
AsyncTask(ENamedThreads::GameThread, [object, texture2D]()
{
if (texture2D != nullptr)
{
object->Complete.Broadcast(texture2D);
}
else
{
object->Failure.Broadcast();
}
});
});
}
UTexture2D* UTextureDownloader::DownloadImageAsTexture2D(FString url)
{
auto javaClass = MakeShared<AndroidJavaClass>("com/Plugins/RuStoreCore/RuStoreCoreUtils");
AndroidJavaObject* image = javaClass->CallStaticAJObject("DownloadImage", "Lcom/Plugins/RuStoreCore/RuStoreImage;", url);
int32 srcWidth = image->GetInt("width");
int32 srcHeight = image->GetInt("height");
TArray<uint8>* rawData = image->GetByteArray("bgra");
bool isComplete = image->GetBool("isComplete");
if (!isComplete)
{
delete rawData;
delete image;
return nullptr;
}
UTexture2D* texture2D = UTexture2D::CreateTransient(srcWidth, srcHeight, EPixelFormat::PF_B8G8R8A8);
FByteBulkData* bulkData;
#if UE_VERSION_OLDER_THAN(5, 1, 0)
bulkData = &texture2D->PlatformData->Mips[0].BulkData;
#else
bulkData = &texture2D->GetPlatformData()->Mips[0].BulkData;
#endif
void* data = bulkData->Lock(EBulkDataLockFlags::LOCK_READ_WRITE);
FMemory::Memcpy(data, rawData->GetData(), rawData->Num());
bulkData->Unlock();
texture2D->UpdateResource();
texture2D->Filter = TextureFilter::TF_Trilinear;
delete rawData;
delete image;
return texture2D;
}
- Страницы
- AndroidJavaClass.cpp.en
- AndroidJavaClass.cpp
- AndroidJavaClass.h.en
- AndroidJavaClass.h
- AndroidJavaLog.cpp.en
- AndroidJavaLog.cpp
- AndroidJavaLog.h.en
- AndroidJavaLog.h
- AndroidJavaObject.cpp.en
- AndroidJavaObject.cpp
- AndroidJavaObject.h.en
- AndroidJavaObject.h
- AsyncNodes.en
- AsyncNodes
- AsyncNodes_Files.en
- AsyncNodes_Files
- CallbackHandler.cpp.en
- CallbackHandler.cpp
- CallbackHandler.h.en
- CallbackHandler.h
- ConfirmPurchaseResponseListenerImpl.cpp.en
- ConfirmPurchaseResponseListenerImpl.cpp
- ConfirmPurchaseResponseListenerImpl.h.en
- ConfirmPurchaseResponseListenerImpl.h
- DataConverter.cpp.en
- DataConverter.cpp
- DataConverter.h.en
- DataConverter.h
- DeletePurchaseResponseListenerImpl.cpp.en
- DeletePurchaseResponseListenerImpl.cpp
- DeletePurchaseResponseListenerImpl.h.en
- DeletePurchaseResponseListenerImpl.h
- EURuStoreProductStatus.h.en
- EURuStoreProductStatus.h
- EURuStoreProductType.h.en
- EURuStoreProductType.h
- EURuStorePurchaseState.h.en
- EURuStorePurchaseState.h
- EURuStoreTheme.h.en
- EURuStoreTheme.h
- ErrorConverter.cpp.en
- ErrorConverter.cpp
- ErrorConverter.h.en
- ErrorConverter.h
- ErrorListener.cpp.en
- ErrorListener.cpp
- ErrorListener.h.en
- ErrorListener.h
- FURuStoreBillingClientConfig.h.en
- FURuStoreBillingClientConfig.h
- FURuStoreCancelled.h.en
- FURuStoreCancelled.h
- FURuStoreError.h.en
- FURuStoreError.h
- FURuStoreFailure.h.en
- FURuStoreFailure.h
- FURuStoreFeatureAvailabilityResult.h.en
- FURuStoreFeatureAvailabilityResult.h
- FURuStoreInvalidPaymentState.h.en
- FURuStoreInvalidPaymentState.h
- FURuStorePaymentResult.h.en
- FURuStorePaymentResult.h
- FURuStoreProduct.h.en
- FURuStoreProduct.h
- FURuStoreProductSubscription.h.en
- FURuStoreProductSubscription.h
- FURuStoreProductsResponse.h.en
- FURuStoreProductsResponse.h
- FURuStorePurchase.h.en
- FURuStorePurchase.h
- FURuStorePurchaseAvailabilityResult.h.en
- FURuStorePurchaseAvailabilityResult.h
- FURuStorePurchasesResponse.h.en
- FURuStorePurchasesResponse.h
- FURuStoreSubscriptionPeriod.h.en
- FURuStoreSubscriptionPeriod.h
- FURuStoreSuccess.h.en
- FURuStoreSuccess.h
- FURuStoreUserAuthorizationStatus.h.en
- FURuStoreUserAuthorizationStatus.h
- FeatureAvailabilityListenerImpl.cpp.en
- FeatureAvailabilityListenerImpl.cpp
- FeatureAvailabilityListenerImpl.h.en
- FeatureAvailabilityListenerImpl.h
- IAndroidClasses.h.en
- IAndroidClasses.h
- IRuStoreListener.java.en
- IRuStoreListener.java
- Java.en
- Java
- JavaActivity.cpp.en
- JavaActivity.cpp
- JavaActivity.h.en
- JavaActivity.h
- JavaApplication.cpp.en
- JavaApplication.cpp
- JavaApplication.h.en
- JavaApplication.h
- JavaMethodSignature.cpp.en
- JavaMethodSignature.cpp
- JavaMethodSignature.h.en
- JavaMethodSignature.h
- JavaTypeConverter.cpp.en
- JavaTypeConverter.cpp
- JavaTypeConverter.h.en
- JavaTypeConverter.h
- Java_Files.en
- Java_Files
- PaymentResultListenerImpl.cpp.en
- PaymentResultListenerImpl.cpp
- PaymentResultListenerImpl.h.en
- PaymentResultListenerImpl.h
- Plugins.en
- Plugins
- Private.en
- Private
- Private_Files.en
- Private_Files
- ProductsResponseListenerImpl.cpp.en
- ProductsResponseListenerImpl.cpp
- ProductsResponseListenerImpl.h.en
- ProductsResponseListenerImpl.h
- Public.en
- Public
- Public_Files.en
- Public_Files
- PurchaseAvailabilityListenerImpl.cpp.en
- PurchaseAvailabilityListenerImpl.cpp
- PurchaseAvailabilityListenerImpl.h.en
- PurchaseAvailabilityListenerImpl.h
- PurchaseInfoResponseListenerImpl.cpp.en
- PurchaseInfoResponseListenerImpl.cpp
- PurchaseInfoResponseListenerImpl.h.en
- PurchaseInfoResponseListenerImpl.h
- PurchasesResponseListenerImpl.cpp.en
- PurchasesResponseListenerImpl.cpp
- PurchasesResponseListenerImpl.h.en
- PurchasesResponseListenerImpl.h
- ResponseListener.h.en
- ResponseListener.h
- RuStoreBilling.Build.cs.en
- RuStoreBilling.Build.cs
- RuStoreBilling.cpp.en
- RuStoreBilling.cpp
- RuStoreBilling.h.en
- RuStoreBilling.h
- RuStoreBillingIntentFilterActivity.java.en
- RuStoreBillingIntentFilterActivity.java
- RuStoreBilling_Files.en
- RuStoreBilling_Files
- RuStoreCore.Build.cs.en
- RuStoreCore.Build.cs
- RuStoreCore.cpp.en
- RuStoreCore.cpp
- RuStoreCore.h.en
- RuStoreCore.h
- RuStoreCoreUtils.java.en
- RuStoreCoreUtils.java
- RuStoreCore_Files.en
- RuStoreCore_Files
- RuStoreImage.java.en
- RuStoreImage.java
- RuStoreListener.cpp.en
- RuStoreListener.cpp
- RuStoreListener.h.en
- RuStoreListener.h
- SimpleResponseListener.cpp.en
- SimpleResponseListener.cpp
- SimpleResponseListener.h.en
- SimpleResponseListener.h
- SimpleResponseListenerT.h.en
- SimpleResponseListenerT.h
- Source.en
- Source
- Source_Files.en
- Source_Files
- UCheckPurchasesAvailabilityNode.cpp.en
- UCheckPurchasesAvailabilityNode.cpp
- UCheckPurchasesAvailabilityNode.h.en
- UCheckPurchasesAvailabilityNode.h
- UConfirmPurchaseNode.cpp.en
- UConfirmPurchaseNode.cpp
- UConfirmPurchaseNode.h.en
- UConfirmPurchaseNode.h
- UDeletePurchaseNode.cpp.en
- UDeletePurchaseNode.cpp
- UDeletePurchaseNode.h.en
- UDeletePurchaseNode.h
- UGetAuthorizationStatusNode.cpp.en
- UGetAuthorizationStatusNode.cpp
- UGetAuthorizationStatusNode.h.en
- UGetAuthorizationStatusNode.h
- UGetProductsNode.h.en
- UGetProductsNode.h
- UGetProductstNode.cpp.en
- UGetProductstNode.cpp
- UGetPurchaseInfoNode.cpp.en
- UGetPurchaseInfoNode.cpp
- UGetPurchaseInfoNode.h.en
- UGetPurchaseInfoNode.h
- UGetPurchasesNode.cpp.en
- UGetPurchasesNode.cpp
- UGetPurchasesNode.h.en
- UGetPurchasesNode.h
- UPurchaseProductNode.cpp.en
- UPurchaseProductNode.cpp
- UPurchaseProductNode.h.en
- UPurchaseProductNode.h
- URuStoreBillingClient.cpp.en
- URuStoreBillingClient.cpp
- URuStoreBillingClient.h.en
- URuStoreBillingClient.h
- URuStoreCancelled.h.en
- URuStoreCancelled.h
- URuStoreCore.cpp.en
- URuStoreCore.cpp
- URuStoreCore.h.en
- URuStoreCore.h
- URuStoreFailure.h.en
- URuStoreFailure.h
- URuStoreInvalidPaymentState.h.en
- URuStoreInvalidPaymentState.h
- URuStorePaymentResultClass.h.en
- URuStorePaymentResultClass.h
- URuStoreSuccess.h.en
- URuStoreSuccess.h
- UTextureDownloader.cpp.en
- UTextureDownloader.cpp
- UTextureDownloader.h.en
- UTextureDownloader.h
- UnrealPlayerImpl.cpp.en
- UnrealPlayerImpl.cpp
- UnrealPlayerImpl.h.en
- UnrealPlayerImpl.h
- UnrealPlayerWrapper.java.en
- UnrealPlayerWrapper.java
- UserAuthorizationStatusListenerImpl.cpp.en
- UserAuthorizationStatusListenerImpl.cpp
- UserAuthorizationStatusListenerImpl.h.en
- UserAuthorizationStatusListenerImpl.h
- docs.en
- docs
- unreal_example.en
- unreal_example
- AndroidJavaClass.cpp.en
- AndroidJavaClass.cpp
- AndroidJavaClass.h.en
- AndroidJavaClass.h
- AndroidJavaLog.cpp.en
- AndroidJavaLog.cpp
- AndroidJavaLog.h.en
- AndroidJavaLog.h
- AndroidJavaObject.cpp.en
- AndroidJavaObject.cpp
- AndroidJavaObject.h.en
- AndroidJavaObject.h
- AsyncNodes.en
- AsyncNodes
- AsyncNodes_Files.en
- AsyncNodes_Files
- CallbackHandler.cpp.en
- CallbackHandler.cpp
- CallbackHandler.h.en
- CallbackHandler.h
- ConfirmPurchaseResponseListenerImpl.cpp.en
- ConfirmPurchaseResponseListenerImpl.cpp
- ConfirmPurchaseResponseListenerImpl.h.en
- ConfirmPurchaseResponseListenerImpl.h
- DataConverter.cpp.en
- DataConverter.cpp
- DataConverter.h.en
- DataConverter.h
- DeletePurchaseResponseListenerImpl.cpp.en
- DeletePurchaseResponseListenerImpl.cpp
- DeletePurchaseResponseListenerImpl.h.en
- DeletePurchaseResponseListenerImpl.h
- EURuStoreProductStatus.h.en
- EURuStoreProductStatus.h
- EURuStoreProductType.h.en
- EURuStoreProductType.h
- EURuStorePurchaseState.h.en
- EURuStorePurchaseState.h
- EURuStoreTheme.h.en
- EURuStoreTheme.h
- ErrorConverter.cpp.en
- ErrorConverter.cpp
- ErrorConverter.h.en
- ErrorConverter.h
- ErrorListener.cpp.en
- ErrorListener.cpp
- ErrorListener.h.en
- ErrorListener.h
- FURuStoreBillingClientConfig.h.en
- FURuStoreBillingClientConfig.h
- FURuStoreCancelled.h.en
- FURuStoreCancelled.h
- FURuStoreError.h.en
- FURuStoreError.h
- FURuStoreFailure.h.en
- FURuStoreFailure.h
- FURuStoreFeatureAvailabilityResult.h.en
- FURuStoreFeatureAvailabilityResult.h
- FURuStoreInvalidPaymentState.h.en
- FURuStoreInvalidPaymentState.h
- FURuStorePaymentResult.h.en
- FURuStorePaymentResult.h
- FURuStoreProduct.h.en
- FURuStoreProduct.h
- FURuStoreProductSubscription.h.en
- FURuStoreProductSubscription.h
- FURuStoreProductsResponse.h.en
- FURuStoreProductsResponse.h
- FURuStorePurchase.h.en
- FURuStorePurchase.h
- FURuStorePurchaseAvailabilityResult.h.en
- FURuStorePurchaseAvailabilityResult.h
- FURuStorePurchasesResponse.h.en
- FURuStorePurchasesResponse.h
- FURuStoreSubscriptionPeriod.h.en
- FURuStoreSubscriptionPeriod.h
- FURuStoreSuccess.h.en
- FURuStoreSuccess.h
- FURuStoreUserAuthorizationStatus.h.en
- FURuStoreUserAuthorizationStatus.h
- FeatureAvailabilityListenerImpl.cpp.en
- FeatureAvailabilityListenerImpl.cpp
- FeatureAvailabilityListenerImpl.h.en
- FeatureAvailabilityListenerImpl.h
- IAndroidClasses.h.en
- IAndroidClasses.h
- IRuStoreListener.java.en
- IRuStoreListener.java
- Java.en
- Java
- JavaActivity.cpp.en
- JavaActivity.cpp
- JavaActivity.h.en
- JavaActivity.h
- JavaApplication.cpp.en
- JavaApplication.cpp
- JavaApplication.h.en
- JavaApplication.h
- JavaMethodSignature.cpp.en
- JavaMethodSignature.cpp
- JavaMethodSignature.h.en
- JavaMethodSignature.h
- JavaTypeConverter.cpp.en
- JavaTypeConverter.cpp
- JavaTypeConverter.h.en
- JavaTypeConverter.h
- Java_Files.en
- Java_Files
- PaymentResultListenerImpl.cpp.en
- PaymentResultListenerImpl.cpp
- PaymentResultListenerImpl.h.en
- PaymentResultListenerImpl.h
- Plugins.en
- Plugins
- Private.en
- Private
- Private_Files.en
- Private_Files
- ProductsResponseListenerImpl.cpp.en
- ProductsResponseListenerImpl.cpp
- ProductsResponseListenerImpl.h.en
- ProductsResponseListenerImpl.h
- Public.en
- Public
- Public_Files.en
- Public_Files
- PurchaseAvailabilityListenerImpl.cpp.en
- PurchaseAvailabilityListenerImpl.cpp
- PurchaseAvailabilityListenerImpl.h.en
- PurchaseAvailabilityListenerImpl.h
- PurchaseInfoResponseListenerImpl.cpp.en
- PurchaseInfoResponseListenerImpl.cpp
- PurchaseInfoResponseListenerImpl.h.en
- PurchaseInfoResponseListenerImpl.h
- PurchasesResponseListenerImpl.cpp.en
- PurchasesResponseListenerImpl.cpp
- PurchasesResponseListenerImpl.h.en
- PurchasesResponseListenerImpl.h
- ResponseListener.h.en
- ResponseListener.h
- RuStoreBilling.Build.cs.en
- RuStoreBilling.Build.cs
- RuStoreBilling.cpp.en
- RuStoreBilling.cpp
- RuStoreBilling.h.en
- RuStoreBilling.h
- RuStoreBillingIntentFilterActivity.java.en
- RuStoreBillingIntentFilterActivity.java
- RuStoreBilling_Files.en
- RuStoreBilling_Files
- RuStoreCore.Build.cs.en
- RuStoreCore.Build.cs
- RuStoreCore.cpp.en
- RuStoreCore.cpp
- RuStoreCore.h.en
- RuStoreCore.h
- RuStoreCoreUtils.java.en
- RuStoreCoreUtils.java
- RuStoreCore_Files.en
- RuStoreCore_Files
- RuStoreImage.java.en
- RuStoreImage.java
- RuStoreListener.cpp.en
- RuStoreListener.cpp
- RuStoreListener.h.en
- RuStoreListener.h
- SimpleResponseListener.cpp.en
- SimpleResponseListener.cpp
- SimpleResponseListener.h.en
- SimpleResponseListener.h
- SimpleResponseListenerT.h.en
- SimpleResponseListenerT.h
- Source.en
- Source
- Source_Files.en
- Source_Files
- UCheckPurchasesAvailabilityNode.cpp.en
- UCheckPurchasesAvailabilityNode.cpp
- UCheckPurchasesAvailabilityNode.h.en
- UCheckPurchasesAvailabilityNode.h
- UConfirmPurchaseNode.cpp.en
- UConfirmPurchaseNode.cpp
- UConfirmPurchaseNode.h.en
- UConfirmPurchaseNode.h
- UDeletePurchaseNode.cpp.en
- UDeletePurchaseNode.cpp
- UDeletePurchaseNode.h.en
- UDeletePurchaseNode.h
- UGetAuthorizationStatusNode.cpp.en
- UGetAuthorizationStatusNode.cpp
- UGetAuthorizationStatusNode.h.en
- UGetAuthorizationStatusNode.h
- UGetProductsNode.h.en
- UGetProductsNode.h
- UGetProductstNode.cpp.en
- UGetProductstNode.cpp
- UGetPurchaseInfoNode.cpp.en
- UGetPurchaseInfoNode.cpp
- UGetPurchaseInfoNode.h.en
- UGetPurchaseInfoNode.h
- UGetPurchasesNode.cpp.en
- UGetPurchasesNode.cpp
- UGetPurchasesNode.h.en
- UGetPurchasesNode.h
- UPurchaseProductNode.cpp.en
- UPurchaseProductNode.cpp
- UPurchaseProductNode.h.en
- UPurchaseProductNode.h
- URuStoreBillingClient.cpp.en
- URuStoreBillingClient.cpp
- URuStoreBillingClient.h.en
- URuStoreBillingClient.h
- URuStoreCancelled.h.en
- URuStoreCancelled.h
- URuStoreCore.cpp.en
- URuStoreCore.cpp
- URuStoreCore.h.en
- URuStoreCore.h
- URuStoreFailure.h.en
- URuStoreFailure.h
- URuStoreInvalidPaymentState.h.en
- URuStoreInvalidPaymentState.h
- URuStorePaymentResultClass.h.en
- URuStorePaymentResultClass.h
- URuStoreSuccess.h.en
- URuStoreSuccess.h
- UTextureDownloader.cpp.en
- UTextureDownloader.cpp
- UTextureDownloader.h.en
- UTextureDownloader.h
- UnrealPlayerImpl.cpp.en
- UnrealPlayerImpl.cpp
- UnrealPlayerImpl.h.en
- UnrealPlayerImpl.h
- UnrealPlayerWrapper.java.en
- UnrealPlayerWrapper.java
- UserAuthorizationStatusListenerImpl.cpp.en
- UserAuthorizationStatusListenerImpl.cpp
- UserAuthorizationStatusListenerImpl.h.en
- UserAuthorizationStatusListenerImpl.h
- docs.en
- docs
- unreal_example.en
- unreal_example