// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "Misc/Optional.h" #include "Online/StatsCommon.h" #define UE_API ONLINESERVICESNULL_API namespace UE::Online { class FOnlineServicesNull; class FStatsNull : public FStatsCommon { public: using Super = FStatsCommon; UE_API FStatsNull(FOnlineServicesNull& InOwningSubsystem); // IStats UE_API virtual TOnlineAsyncOpHandle UpdateStats(FUpdateStats::Params&& Params) override; UE_API virtual TOnlineAsyncOpHandle QueryStats(FQueryStats::Params&& Params) override; UE_API virtual TOnlineAsyncOpHandle BatchQueryStats(FBatchQueryStats::Params&& Params) override; #if !UE_BUILD_SHIPPING UE_API virtual TOnlineAsyncOpHandle ResetStats(FResetStats::Params&& Params) override; #endif // !UE_BUILD_SHIPPING protected: UE_API void ReadStatsFromCache(const FUserStats* ExistingUserStats, const TArray& StatNames, TMap& OutStats); // TODO: Save UsersStats into local user profile TArray UsersStats; }; /* UE::Online */ } #undef UE_API