Loading...
Searching...
No Matches
FOnlinePurchaseAccelByte Class Reference
Inheritance diagram for FOnlinePurchaseAccelByte:

Public Member Functions

virtual bool IsAllowedToPurchase (const FUniqueNetId &UserId) override
virtual void Checkout (const FUniqueNetId &UserId, const FPurchaseCheckoutRequest &CheckoutRequest, const FOnPurchaseCheckoutComplete &Delegate) override
virtual void FinalizePurchase (const FUniqueNetId &UserId, const FString &ReceiptId) override
virtual void RedeemCode (const FUniqueNetId &UserId, const FRedeemCodeRequest &RedeemCodeRequest, const FOnPurchaseRedeemCodeComplete &Delegate) override
virtual void QueryReceipts (const FUniqueNetId &UserId, bool bRestoreReceipts, const FOnQueryReceiptsComplete &Delegate) override
virtual void GetReceipts (const FUniqueNetId &UserId, TArray< FPurchaseReceipt > &OutReceipts) const override
virtual void FinalizeReceiptValidationInfo (const FUniqueNetId &UserId, FString &InReceiptValidationInfo, const FOnFinalizeReceiptValidationInfoComplete &Delegate) override
void PlatformCheckout (const FUniqueNetId &UserId, const FPurchaseCheckoutRequest &CheckoutRequest, const FOnPurchaseCheckoutComplete &Delegate)
void QueryPlatformReceipts (const FUniqueNetId &UserId, bool bRestoreReceipts, const FOnQueryReceiptsComplete &Delegate)
void GetPlatformReceipts (const FUniqueNetId &UserId, TArray< FPurchaseReceipt > &OutReceipts) const
 DEFINE_ONLINE_DELEGATE_THREE_PARAM (OnQueryUserOrdersComplete, bool, const FAccelByteModelsPagedOrderInfo &, const FOnlineErrorAccelByte &)
void QueryUserOrders (const FUniqueNetId &UserId, const FAccelByteModelsUserOrdersRequest &UserOrderRequest)
 DEFINE_ONLINE_DELEGATE_THREE_PARAM (OnCreateNewOrderComplete, bool, const FAccelByteModelsOrderInfo &, const FOnlineErrorAccelByte &)
void CreateNewOrder (const FUniqueNetId &UserId, const FAccelByteModelsOrderCreate &OrderCreate)
 DEFINE_ONLINE_DELEGATE_THREE_PARAM (OnPreviewOrderComplete, bool, const FAccelByteModelsUserPreviewOrderResponse &, const FOnlineErrorAccelByte &)
void PreviewOrder (const FUniqueNetId &UserId, const FAccelByteModelsUserPreviewOrderRequest &PreviewOrderRequest)

Static Public Member Functions

static bool GetFromSubsystem (const IOnlineSubsystem *Subsystem, TSharedPtr< FOnlinePurchaseAccelByte, ESPMode::ThreadSafe > &OutInterfaceInstance)
static bool GetFromWorld (const UWorld *World, TSharedPtr< FOnlinePurchaseAccelByte, ESPMode::ThreadSafe > &OutInterfaceInstance)

Public Attributes

PACKAGE_SCOPE : void AddPlatformReceipt(const TSharedRef<const FUniqueNetIdAccelByteUser>& UserId
PACKAGE_SCOPE FPurchaseReceipt Receipt

Protected Attributes

FOnlineSubsystemAccelByteWPtr AccelByteSubsystem = nullptr
FUserIDToReceiptMap PurchaseReceipts
FCriticalSection ReceiptMapLock
FUserIDToReceiptMap PlatformReceipts
FCriticalSection PlatformReceiptMapLock

Member Function Documentation

◆ CreateNewOrder()

void FOnlinePurchaseAccelByte::CreateNewOrder ( const FUniqueNetId & UserId,
const FAccelByteModelsOrderCreate & OrderCreate )

Create order to purchase something from the store.

Parameters
UserIdThe user's user ID.
OrderCreatecontains some parameters for create new order.

◆ DEFINE_ONLINE_DELEGATE_THREE_PARAM() [1/3]

FOnlinePurchaseAccelByte::DEFINE_ONLINE_DELEGATE_THREE_PARAM ( OnCreateNewOrderComplete ,
bool ,
const FAccelByteModelsOrderInfo & ,
const FOnlineErrorAccelByte &  )

Delegate called when a controller-user create new order.

◆ DEFINE_ONLINE_DELEGATE_THREE_PARAM() [2/3]

FOnlinePurchaseAccelByte::DEFINE_ONLINE_DELEGATE_THREE_PARAM ( OnPreviewOrderComplete ,
bool ,
const FAccelByteModelsUserPreviewOrderResponse & ,
const FOnlineErrorAccelByte &  )

Delegate called when a controller-user preview an order complete.

◆ DEFINE_ONLINE_DELEGATE_THREE_PARAM() [3/3]

FOnlinePurchaseAccelByte::DEFINE_ONLINE_DELEGATE_THREE_PARAM ( OnQueryUserOrdersComplete ,
bool ,
const FAccelByteModelsPagedOrderInfo & ,
const FOnlineErrorAccelByte &  )

Delegate called when a controller-user query user orders.

◆ GetFromSubsystem()

bool FOnlinePurchaseAccelByte::GetFromSubsystem ( const IOnlineSubsystem * Subsystem,
TSharedPtr< FOnlinePurchaseAccelByte, ESPMode::ThreadSafe > & OutInterfaceInstance )
static

Convenience method to get an instance of this interface from the subsystem passed in.

Parameters
SubsystemSubsystem instance that we wish to get this interface from
OutInterfaceInstanceInstance of the interface that we got from the subsystem, or nullptr if not found
Returns
boolean that is true if we could get an instance of the interface, false otherwise

◆ GetFromWorld()

bool FOnlinePurchaseAccelByte::GetFromWorld ( const UWorld * World,
TSharedPtr< FOnlinePurchaseAccelByte, ESPMode::ThreadSafe > & OutInterfaceInstance )
static

Convenience method to get an instance of this interface from the subsystem associated with the world passed in.

Parameters
WorldWorld instance that we wish to get the interface from
OutInterfaceInstanceInstance of the interface that we got from the subsystem, or nullptr if not found
Returns
boolean that is true if we could get an instance of the interface, false otherwise

◆ PreviewOrder()

void FOnlinePurchaseAccelByte::PreviewOrder ( const FUniqueNetId & UserId,
const FAccelByteModelsUserPreviewOrderRequest & PreviewOrderRequest )

Preview an order using discount code(s).

Parameters
UserIdThe user's user ID.
PreviewOrderRequestcontains some parameters for previewing the order.

◆ QueryUserOrders()

void FOnlinePurchaseAccelByte::QueryUserOrders ( const FUniqueNetId & UserId,
const FAccelByteModelsUserOrdersRequest & UserOrderRequest )

Get all of user's orders that have been created with paging.

Parameters
UserIdThe user's user ID.
UserOrderRequestcontains some parameters for query.

Member Data Documentation

◆ AccelByteSubsystem

FOnlineSubsystemAccelByteWPtr FOnlinePurchaseAccelByte::AccelByteSubsystem = nullptr
protected

Instance of the subsystem that created this interface

◆ PlatformReceiptMapLock

FCriticalSection FOnlinePurchaseAccelByte::PlatformReceiptMapLock
mutableprotected

Critical sections for thread safe operation of ReceiptMap

◆ ReceiptMapLock

FCriticalSection FOnlinePurchaseAccelByte::ReceiptMapLock
mutableprotected

Critical sections for thread safe operation of ReceiptMap