LootLocker Unreal SDK 10.6.0
Game backend SDK for Unreal Engine
Loading...
Searching...
No Matches
LootLockerItemRequestHandler.h
Go to the documentation of this file.
1// Copyright (c) 2021 LootLocker
2
3#pragma once
4
5
6#include "CoreMinimal.h"
7#include "Dom/JsonObject.h"
11#include "LootLockerItemRequestHandler.generated.h"
12
13
14//==================================================
15// Enum Definitions
16//==================================================
17
20UENUM(BlueprintType, Category = "LootLocker")
25{
26 All = 0,
27 Consumable = 1,
29};
31
34UENUM(BlueprintType, Category = "LootLocker")
38enum class ELootLockerItemType : uint8
39{
41 None = 0,
43 Instanced = 1,
45 Stackable = 2,
46};
48
51UENUM(BlueprintType, Category = "LootLocker")
55enum class ELootLockerItemSortField : uint8
56{
58 None = 0,
60 Created_at = 1,
62 Updated_at = 2,
64 Source = 3,
65};
67
70UENUM(BlueprintType, Category = "LootLocker")
74enum class ELootLockerItemSortOrder : uint8
75{
77 None = 0,
79 Asc = 1,
81 Desc = 2,
82};
84
87UENUM(BlueprintType, Category = "LootLocker")
91enum class ELootLockerRewardKind : uint8
92{
94 Unknown = 0,
96 Asset = 1,
102 Currency = 4,
104 Group = 5,
106 Reward = 6,
108 Platform_key = 7,
114 Player_metadata = 10,
116 File = 11,
118 Discord_role = 12,
120 Item_template = 13,
121};
123
124
125//==================================================
126// Data Type Definitions
127//==================================================
128
129
133USTRUCT(BlueprintType, Category = "LootLocker")
135{
136 GENERATED_BODY()
137
138
139 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
140 FString Id = "";
141
143 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
144 FString Name = "";
145
147 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
148 int32 Limited = 0;
149
151 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
153
155 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
156 bool Consumable = false;
157
159 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
160 bool Deletable = false;
161
163 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
164 FDateTime Created_at = FDateTime(0);
165
167 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
168 FDateTime Updated_at = FDateTime(0);
169};
170
178USTRUCT(BlueprintType, Category = "LootLocker")
180{
181 GENERATED_BODY()
182
183
184 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
185 FString Id = "";
186
188 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
189 int32 Player_id = 0;
190
192 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
193 FString Item_template_id = "";
194
196 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
198
200 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
201 bool Consumable = false;
202
204 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
205 bool Deletable = false;
206
208 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
209 int32 Count = 0;
210
212 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
213 FString Source = "";
214
216 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
217 FString Name = "";
218
220 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
221 FDateTime Created_at = FDateTime(0);
222
224 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
225 FDateTime Updated_at = FDateTime(0);
226
228 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
229 TArray<FLootLockerMetadataEntry> Metadata;
230};
231
235USTRUCT(BlueprintType, Category = "LootLocker")
237{
238 GENERATED_BODY()
239
240
241 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
242 FString Source_id = "";
243
245 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
246 int32 Count = 0;
247
249 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
251
253 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
254 FString Name = "";
255
257 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
258 FString Code = "";
259};
260
261
262//==================================================
263// Request Definitions
264//==================================================
265
266
270USTRUCT(BlueprintType, Category = "LootLocker")
272{
273 GENERATED_BODY()
274
275
279 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
280 int32 Count = 1;
281};
282
286USTRUCT(BlueprintType, Category = "LootLocker")
288{
289 GENERATED_BODY()
290
291
292 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
293 int32 Count = 0;
294};
295
299USTRUCT(BlueprintType, Category = "LootLocker")
301{
302 GENERATED_BODY()
303
304
305 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
306 FString Source_inventory_id = "";
307
309 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
310 FString Target_inventory_id = "";
311};
312
313
314//==================================================
315// Response Definitions
316//==================================================
317
318
322USTRUCT(BlueprintType, Category = "LootLocker")
324{
325 GENERATED_BODY()
326
327
328 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
330
332 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
334};
335
342USTRUCT(BlueprintType, Category = "LootLocker")
344{
345 GENERATED_BODY()
346
347
348 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
350
352 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
354
358 void PopulateConvenienceStructures();
359};
360
364USTRUCT(BlueprintType, Category = "LootLocker")
366{
367 GENERATED_BODY()
368
369
370 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
371 FString Id = "";
372
374 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
375 int32 Player_id = 0;
376
378 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
379 FString Item_template_id = "";
380
382 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
384
386 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
387 bool Consumable = false;
388
390 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
391 bool Deletable = false;
392
394 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
395 int32 Count = 0;
396
398 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
399 FString Source = "";
400
402 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
403 FDateTime Created_at = FDateTime(0);
404
406 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
407 FDateTime Updated_at = FDateTime(0);
408
410 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
412
414 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
415 TArray<FLootLockerMetadataEntry> Metadata;
416
420 void PopulateConvenienceStructures();
421};
422
426USTRUCT(BlueprintType, Category = "LootLocker")
428{
429 GENERATED_BODY()
430
431
432 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
433 bool Consumed = false;
434
436 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
437 TArray<FLootLockerGrantedItem> Granted;
438};
439
443USTRUCT(BlueprintType, Category = "LootLocker")
445{
446 GENERATED_BODY()
447
448
449 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
450 FString Id = "";
451};
452
456USTRUCT(BlueprintType, Category = "LootLocker")
458{
459 GENERATED_BODY()
460};
461
462
463//==================================================
464// Delegate Definitions
465//==================================================
466
469
473
478
483
488
493
498
499
500//==================================================
501// API Class Definition
502//==================================================
503
505UCLASS()
506class LOOTLOCKERSDK_API ULootLockerItemRequestHandler : public UObject
507{
508 GENERATED_BODY()
509public:
511
512 static FString ListItemTemplates(const FLootLockerPlayerData& PlayerData, int32 PerPage, int32 Page, const FLootLockerListItemTemplatesResponseDelegate& OnCompletedRequest);
513
514 static FString ListPlayerInventoryItems(const FLootLockerPlayerData& PlayerData, int32 PerPage, int32 Page, const FString& Name, ELootLockerItemType ItemType, ELootLockerItemConsumableFilter ConsumableFilter, ELootLockerItemSortField Sort, ELootLockerItemSortOrder Order, const FLootLockerListPlayerInventoryItemsResponseDelegate& OnCompletedRequest);
515
516 static FString GetPlayerInventoryItem(const FLootLockerPlayerData& PlayerData, const FString& InventoryId, const FLootLockerGetPlayerInventoryItemResponseDelegate& OnCompletedRequest);
517
518 static FString DeletePlayerInventoryItem(const FLootLockerPlayerData& PlayerData, const FString& InventoryId, const FLootLockerDefaultDelegate& OnCompletedRequest);
519
520 static FString ConsumePlayerInventoryItem(const FLootLockerPlayerData& PlayerData, const FString& InventoryId, const FLootLockerConsumeInventoryItemRequest& Request, const FLootLockerConsumePlayerInventoryItemResponseDelegate& OnCompletedRequest);
521
522 static FString SplitPlayerInventoryItemStack(const FLootLockerPlayerData& PlayerData, const FString& InventoryId, const FLootLockerSplitInventoryItemStackRequest& Request, const FLootLockerSplitInventoryItemStackResponseDelegate& OnCompletedRequest);
523
525};
void(* FLootLockerDefaultDelegate)(FLootLockerResponse)
Definition LootLockerResponse.h:38
Definition LootLockerItemRequestHandler.h:507
static FString ListPlayerInventoryItems(const FLootLockerPlayerData &PlayerData, int32 PerPage, int32 Page, const FString &Name, ELootLockerItemType ItemType, ELootLockerItemConsumableFilter ConsumableFilter, ELootLockerItemSortField Sort, ELootLockerItemSortOrder Order, const FLootLockerListPlayerInventoryItemsResponseDelegate &OnCompletedRequest)
static FString SplitPlayerInventoryItemStack(const FLootLockerPlayerData &PlayerData, const FString &InventoryId, const FLootLockerSplitInventoryItemStackRequest &Request, const FLootLockerSplitInventoryItemStackResponseDelegate &OnCompletedRequest)
static FString GetPlayerInventoryItem(const FLootLockerPlayerData &PlayerData, const FString &InventoryId, const FLootLockerGetPlayerInventoryItemResponseDelegate &OnCompletedRequest)
static FString ListItemTemplates(const FLootLockerPlayerData &PlayerData, int32 PerPage, int32 Page, const FLootLockerListItemTemplatesResponseDelegate &OnCompletedRequest)
static FString MergePlayerInventoryItemStacks(const FLootLockerPlayerData &PlayerData, const FLootLockerMergeInventoryItemStacksRequest &Request, const FLootLockerMergeInventoryItemStacksResponseDelegate &OnCompletedRequest)
static FString DeletePlayerInventoryItem(const FLootLockerPlayerData &PlayerData, const FString &InventoryId, const FLootLockerDefaultDelegate &OnCompletedRequest)
ULootLockerItemRequestHandler()
Definition LootLockerItemRequestHandler.h:510
static FString ConsumePlayerInventoryItem(const FLootLockerPlayerData &PlayerData, const FString &InventoryId, const FLootLockerConsumeInventoryItemRequest &Request, const FLootLockerConsumePlayerInventoryItemResponseDelegate &OnCompletedRequest)
ELootLockerRewardKind
The kind of reward that was granted as a result of a behaviour.
Definition LootLockerItemRequestHandler.h:92
void(* FLootLockerSplitInventoryItemStackResponseDelegate)(FLootLockerSplitInventoryItemStackResponse)
C++ response delegate for splitting an item stack.
Definition LootLockerItemRequestHandler.h:492
void(* FLootLockerListPlayerInventoryItemsResponseDelegate)(FLootLockerListPlayerInventoryItemsResponse)
C++ response delegate for listing player items.
Definition LootLockerItemRequestHandler.h:477
void(* FLootLockerGetPlayerInventoryItemResponseDelegate)(FLootLockerGetPlayerInventoryItemResponse)
C++ response delegate for getting a player item.
Definition LootLockerItemRequestHandler.h:482
void(* FLootLockerListItemTemplatesResponseDelegate)(FLootLockerListItemTemplatesResponse)
C++ response delegate for listing item templates.
Definition LootLockerItemRequestHandler.h:472
ELootLockerItemType
The type of an item, determining whether item instances are stackable or individually tracked.
Definition LootLockerItemRequestHandler.h:39
ELootLockerItemSortOrder
The direction in which to order a player item list response.
Definition LootLockerItemRequestHandler.h:75
void(* FLootLockerConsumePlayerInventoryItemResponseDelegate)(FLootLockerConsumePlayerInventoryItemResponse)
C++ response delegate for consuming a player item.
Definition LootLockerItemRequestHandler.h:487
void(* FLootLockerMergeInventoryItemStacksResponseDelegate)(FLootLockerMergeInventoryItemStacksResponse)
C++ response delegate for merging item stacks.
Definition LootLockerItemRequestHandler.h:497
ELootLockerItemSortField
The field by which to order a player item list response.
Definition LootLockerItemRequestHandler.h:56
ELootLockerItemConsumableFilter
Enum for filtering player items on whether they are consumable.
Definition LootLockerItemRequestHandler.h:25
@ Item_template
An item template.
@ Publisher_progression_points
Publisher progression points.
@ Currency
A currency.
@ Discord_role
A Discord role.
@ Progression_points
Progression points.
@ Progression_reset
A progression reset.
@ Unknown
The reward kind could not be determined.
@ Player_metadata
Player metadata.
@ Publisher_currency
A publisher currency.
@ Platform_key
A platform key.
@ Stackable
The item is stored as a single entry with a count that can be incremented or decremented.
@ Instanced
Each granted item is a separate, individually tracked instance.
@ Desc
Order descending.
@ Asc
Order ascending.
@ Created_at
Order by when the item was created.
@ Updated_at
Order by when the item was last updated.
@ Source
Order by the source that granted the item.
Request to consume one or more of an item.
Definition LootLockerItemRequestHandler.h:272
Response for consuming one or more of an item.
Definition LootLockerItemRequestHandler.h:428
Definition LootLockerResponse.h:101
Response for getting a single player inventory item.
Definition LootLockerItemRequestHandler.h:366
Represents an item that was granted as a result of consuming an item.
Definition LootLockerItemRequestHandler.h:237
Represents a single item (inventory entry) owned by a player.
Definition LootLockerItemRequestHandler.h:180
Represents an item template that can be granted to players.
Definition LootLockerItemRequestHandler.h:135
Response for listing item templates.
Definition LootLockerItemRequestHandler.h:324
Response for listing a player's inventory items.
Definition LootLockerItemRequestHandler.h:344
Request to merge two item stacks into one.
Definition LootLockerItemRequestHandler.h:301
Response for merging two item stacks.
Definition LootLockerItemRequestHandler.h:458
Represents a single typed metadata entry with a key, value type, tags, and access level,...
Definition LootLockerMetadataRequestHandler.h:118
Definition LootLockerPlayerData.h:12
Base response struct — every SDK callback receives a struct that derives from this.
Definition LootLockerResponse.h:19
Request to split a stackable item into two stacks.
Definition LootLockerItemRequestHandler.h:288
Response for splitting an item stack.
Definition LootLockerItemRequestHandler.h:445