// Copyright 2020-2024 CesiumGS, Inc. and Contributors #pragma once #include "CesiumAsync/AsyncSystem.h" #include "CesiumAsync/IAssetAccessor.h" #include "Containers/Map.h" #include "Containers/UnrealString.h" #include "HAL/Platform.h" #include class CESIUMRUNTIME_API UnrealAssetAccessor : public CesiumAsync::IAssetAccessor { public: UnrealAssetAccessor(); virtual CesiumAsync::Future> get(const CesiumAsync::AsyncSystem& asyncSystem, const std::string& url, const std::vector& headers) override; virtual CesiumAsync::Future> request( const CesiumAsync::AsyncSystem& asyncSystem, const std::string& verb, const std::string& url, const std::vector& headers, const std::span& contentPayload) override; virtual void tick() noexcept override; private: CesiumAsync::Future> getFromFile( const CesiumAsync::AsyncSystem& asyncSystem, const std::string& url, const std::vector& headers); FString _userAgent; TMap _cesiumRequestHeaders; };