diff --git a/Runtime/Game/Requests/AssetRequest.cs b/Runtime/Game/Requests/AssetRequest.cs
index 66042f56..07cffc8d 100644
--- a/Runtime/Game/Requests/AssetRequest.cs
+++ b/Runtime/Game/Requests/AssetRequest.cs
@@ -5,6 +5,9 @@
namespace LootLocker.LootLockerEnums
{
+ ///
+ /// Filter criteria for listing assets based on purchasability, rentability, or popularity.
+ ///
public enum AssetFilter
{
purchasable,
@@ -16,27 +19,33 @@ public enum AssetFilter
none
}
+ ///
+ /// The field by which to order an asset list response.
+ ///
public enum OrderAssetListBy
{
- // Unordered
+ /// Do not apply a specific ordering.
none,
- // Order by asset ID
+ /// Order by asset ID.
id,
- // Order by asset name
+ /// Order by asset name.
name,
- // Order by when the asset was created
+ /// Order by when the asset was created.
created_at,
- // Order by when the asset was last updated
+ /// Order by when the asset was last updated.
updated_at,
}
+ ///
+ /// The direction in which to order an asset list response.
+ ///
public enum OrderAssetListDirection
{
- // Unordered
+ /// Do not apply a specific direction.
none,
- // Ascending order
+ /// Order ascending (lowest to highest).
asc,
- // Descending order
+ /// Order descending (highest to lowest).
desc
}
}
@@ -44,26 +53,44 @@ public enum OrderAssetListDirection
namespace LootLocker.Requests
{
+ ///
+ /// Indicates whether an asset is part of the default loadout configuration.
+ ///
public class LootLockerDefault_Loadouts_Info
{
+ /// Whether this entry represents a default loadout asset.
public bool Default { get; set; }
}
+ ///
+ /// Variation information for a legacy asset, containing the id, name, colors, and links.
+ ///
public class LootLockerVariation_Info
{
+ /// The unique identifier of the variation.
public int id { get; set; }
+ /// The display name of the variation.
public string name { get; set; }
+ /// The primary color of the variation, or null if not set.
public object primary_color { get; set; }
+ /// The secondary color of the variation, or null if not set.
public object secondary_color { get; set; }
+ /// Links associated with the variation.
public object links { get; set; }
}
+ ///
+ /// Request object used internally to track pagination state for legacy asset list calls.
+ ///
[Serializable]
public class LootLockerAssetRequest : LootLockerResponse
{
+ /// The number of assets to fetch per page.
public int count { get; set; }
+ /// The id of the last asset retrieved, used for cursor-based pagination.
public static int lastId { get; set; }
+ /// Resets the pagination cursor to the beginning of the asset list.
public static void ResetAssetCalls()
{
lastId = 0;
@@ -112,9 +139,9 @@ public class LootLockerAssetExcludes
///
public class LootLockerSimpleAssetFilter
{
- // The key for which to look for the filtered values
+ /// The key for which to look for the filtered values.
public string key { get; set; }
- // A list of values to filter by. If the asset has any of these values for the given key, it will be included in the results.
+ /// A list of values to filter by. If the asset has any of these values for the given key, it will be included in the results.
public string[] values { get; set; }
}
@@ -144,119 +171,216 @@ public class LootLockerListAssetsResponse : LootLockerResponse
public LootLockerExtendedPagination pagination { get; set; }
}
+ ///
+ /// Request to grant an asset to the current player's inventory.
+ ///
public class LootLockerGrantAssetRequest
{
+ /// The id of the asset to grant.
public int asset_id { get; set; }
+ /// The variation id to grant, or null for the default variation.
public int? asset_variation_id { get; set; }
+ /// The rental option id to use, or null if the asset is not rented.
public int? asset_rental_option_id { get; set; }
}
+ ///
+ /// Response containing a list of assets returned by a legacy asset request.
+ ///
public class LootLockerAssetResponse : LootLockerResponse
{
+ /// The list of assets returned by the endpoint.
public LootLockerCommonAsset[] assets { get; set; }
}
+ ///
+ /// Response containing a single asset.
+ ///
public class LootLockerSingleAssetResponse : LootLockerResponse
{
+ /// The requested asset.
public LootLockerCommonAsset asset { get; set; }
}
+ ///
+ /// Response containing the full details of an asset, returned by the legacy common asset endpoint.
+ ///
[Serializable]
public class LootLockerCommonAssetResponse : LootLockerResponse
{
+ /// The legacy integer id of the asset.
public int id { get; set; }
+ /// The UUID of the asset.
public string uuid { get; set; }
+ /// The ULID of the asset.
public string ulid { get; set; }
+ /// The display name of the asset.
public string name { get; set; }
+ /// Whether the asset is currently active.
public bool active { get; set; }
+ /// Whether the asset can be purchased.
public bool purchasable { get; set; }
+ /// The type category of the asset.
public string type { get; set; }
+ /// The regular price of the asset.
public int price { get; set; }
+ /// The sale price of the asset, or null if not on sale.
public int? sales_price { get; set; }
+ /// A formatted string representation of the price for display purposes.
public string display_price { get; set; }
+ /// The context (category) the asset belongs to.
public string context { get; set; }
+ /// The context unlocked by equipping this asset.
public string unlocks_context { get; set; }
+ /// Whether this asset can be removed from an equip slot after being equipped.
public bool detachable { get; set; }
+ /// When the asset was last updated, as a date string.
public string updated { get; set; }
+ /// When the asset was marked as new, as a date string.
public string marked_new { get; set; }
+ /// The id of the variation that is selected by default.
public int default_variation_id { get; set; }
+ /// The description of the asset.
public string description { get; set; }
+ /// Named links (e.g. image URLs) associated with this asset.
public LootLockerLinks links { get; set; }
+ /// Key-value storage entries attached to this asset.
public LootLockerStorage[] storage { get; set; }
+ /// Rarity information for this asset.
public LootLockerRarity rarity { get; set; }
+ /// Whether this asset is popular.
public bool popular { get; set; }
+ /// A numeric score used to rank asset popularity.
public int popularity_score { get; set; }
+ /// Whether each grant of this asset creates a unique inventory instance.
public bool unique_instance { get; set; }
+ /// Available rental options for this asset.
public LootLockerRental_Options[] rental_options { get; set; }
+ /// Filters (tags) applied to this asset for categorisation.
public LootLockerFilter[] filters { get; set; }
+ /// Variations available for this asset.
public LootLockerVariation[] variations { get; set; }
+ /// Whether this asset is featured.
public bool featured { get; set; }
+ /// Whether this asset is locked to its context.
public bool context_locked { get; set; }
+ /// Whether this asset can be purchased initially.
public bool initially_purchasable { get; set; }
+ /// Files associated with this asset.
public LootLockerFile[] files { get; set; }
+ /// Information about the UGC creator of this asset, if applicable.
public LootLockerAssetCandidate asset_candidate { get; set; }
+ /// Data entities attached to this asset.
public string[] data_entities { get; set; }
}
///
- /// A simplified asset object to improve performance
+ /// A simplified asset object to improve performance by including only the fields most commonly needed.
///
[Serializable]
public class LootLockerSimpleAsset
{
+ /// The legacy integer id of the asset.
public int asset_id { get; set; }
+ /// The UUID of the asset.
public string asset_uuid { get; set; }
+ /// The ULID of the asset.
public string asset_ulid { get; set; }
+ /// The display name of the asset.
public string asset_name { get; set; }
+ /// The id of the context this asset belongs to.
public int context_id { get; set; }
+ /// The name of the context this asset belongs to.
public string context_name { get; set; }
+ /// The player who authored this asset, if it is user-generated content.
public LootLockerSimpleAssetAuthor author { get; set; }
+ /// Key-value storage entries attached to this asset, if requested.
public LootLockerStorage[] storage { get; set; }
+ /// Files associated with this asset, if requested.
public LootLockerSimpleAssetFile[] files { get; set; }
+ /// Data entities attached to this asset, if requested.
public LootLockerSimpleAssetDataEntity[] data_entities { get; set; }
+ /// Metadata entries associated with this asset, if requested.
public LootLockerMetadataEntry[] metadata { get; set; }
}
+ ///
+ /// Authorship information for a user-generated content (UGC) asset.
+ ///
public class LootLockerSimpleAssetAuthor
{
+ /// The legacy integer id of the player who authored the asset.
public int player_id { get; set; }
+ /// The ULID of the player who authored the asset.
public string player_ulid { get; set; }
+ /// The public UID of the player who authored the asset.
public string public_uid { get; set; }
+ /// The current display name of the player who authored the asset.
public string active_name { get; set; }
}
+ ///
+ /// A file associated with a simplified asset, providing the size, name, URL, and optional tags.
+ ///
public class LootLockerSimpleAssetFile
{
+ /// The file size in bytes.
public int size { get; set; }
+ /// The file name.
public string name { get; set; }
+ /// The URL from which the file can be downloaded.
public string url { get; set; }
+ /// Tags categorising or labelling the file.
public string[] tags { get; set; }
}
+ ///
+ /// A named data entity attached to a simplified asset.
+ ///
public class LootLockerSimpleAssetDataEntity
{
+ /// The name of this data entity.
public string name { get; set; }
+ /// The data payload of this entity, as a JSON string or raw value.
public string data { get; set; }
}
+ ///
+ /// Indicates whether a legacy asset entry is part of the player's default loadout.
+ ///
public class LootLockerDefault_Loadouts
{
+ /// Whether this asset is in the default loadout.
public bool Default { get; set; }
}
+ ///
+ /// Response containing the list of asset ids that the current player has marked as favourites.
+ ///
public class LootLockerFavouritesListResponse : LootLockerResponse
{
+ /// The list of asset ids marked as favourites by the current player.
public int[] favourites { get; set; }
}
+ ///
+ /// Response returned after granting an asset to the current player's inventory.
+ ///
public class LootLockerGrantAssetResponse : LootLockerResponse
{
+ /// The inventory instance id of the granted item.
public int id { get; set; }
+ /// The id of the asset that was granted.
public int asset_id { get; set; }
+ /// The ULID of the asset that was granted.
public string asset_ulid { get; set; }
+ /// The variation id of the granted item, or null for the default variation.
public int? asset_variation_id { get; set; }
+ /// The rental option id of the granted item, or null if not rented.
public int? asset_rental_option_id { get; set; }
+ /// The source through which this item was acquired.
public string acquisition_source { get; set; }
+ /// The date and time when this item was acquired, as a string.
public string acquisition_date { get; set; }
}
}
diff --git a/Runtime/Game/Requests/BalanceRequests.cs b/Runtime/Game/Requests/BalanceRequests.cs
index 353163f4..c4210c25 100644
--- a/Runtime/Game/Requests/BalanceRequests.cs
+++ b/Runtime/Game/Requests/BalanceRequests.cs
@@ -19,6 +19,7 @@ namespace LootLocker.Requests
//==================================================
///
+ /// The current balance of a specific currency held by a wallet.
///
public class LootLockerBalance
{
@@ -41,6 +42,7 @@ public class LootLockerBalance
};
///
+ /// A currency modifier applied to a wallet that adjusts the effective value of a currency.
///
public class LootLockerBalanceModifiers
{
@@ -75,6 +77,7 @@ public class LootLockerBalanceModifiers
//==================================================
///
+ /// Request to create a new wallet for a player or character.
///
public class LootLockerCreateWalletRequest
{
@@ -93,6 +96,7 @@ public class LootLockerCreateWalletRequest
};
///
+ /// Request to credit (add) an amount of currency to a wallet.
///
public class LootLockerCreditRequest
{
@@ -110,6 +114,7 @@ public class LootLockerCreditRequest
};
///
+ /// Request to debit (remove) an amount of currency from a wallet.
///
public class LootLockerDebitRequest
{
@@ -131,6 +136,7 @@ public class LootLockerDebitRequest
//==================================================
///
+ /// Response containing all currency balances in a wallet.
///
public class LootLockerListBalancesForWalletResponse : LootLockerResponse
{
@@ -141,6 +147,7 @@ public class LootLockerListBalancesForWalletResponse : LootLockerResponse
};
///
+ /// Response containing the details of a player or character wallet.
///
public class LootLockerGetWalletResponse : LootLockerResponse
{
@@ -163,6 +170,7 @@ public class LootLockerGetWalletResponse : LootLockerResponse
};
///
+ /// Response returned after crediting an amount to a wallet, showing the resulting balance.
///
public class LootLockerCreditWalletResponse : LootLockerResponse
{
@@ -185,6 +193,7 @@ public class LootLockerCreditWalletResponse : LootLockerResponse
}
///
+ /// Response returned after debiting an amount from a wallet, showing the resulting balance.
///
public class LootLockerDebitWalletResponse : LootLockerResponse
{
@@ -207,6 +216,7 @@ public class LootLockerDebitWalletResponse : LootLockerResponse
}
///
+ /// Response returned after successfully creating a new wallet.
///
public class LootLockerCreateWalletResponse : LootLockerResponse
{
diff --git a/Runtime/Game/Requests/CatalogRequests.cs b/Runtime/Game/Requests/CatalogRequests.cs
index 09cd6cdb..ab58036e 100644
--- a/Runtime/Game/Requests/CatalogRequests.cs
+++ b/Runtime/Game/Requests/CatalogRequests.cs
@@ -23,6 +23,7 @@ namespace LootLocker.Requests
//==================================================
///
+ /// A LootLocker catalog listing, containing entries with prices and entity details.
///
public class LootLockerCatalog
{
@@ -49,6 +50,7 @@ public class LootLockerCatalog
}
///
+ /// A price entry for a catalog item, specifying the currency amount and display value.
///
public class LootLockerCatalogEntryPrice
{
@@ -79,6 +81,7 @@ public class LootLockerCatalogEntryPrice
}
///
+ /// Apple App Store listing information for a catalog entry.
///
public class LootLockerCatalogAppleAppStoreListing
{
@@ -89,6 +92,7 @@ public class LootLockerCatalogAppleAppStoreListing
}
///
+ /// Google Play Store listing information for a catalog entry.
///
public class LootLockerCatalogGooglePlayStoreListing
{
@@ -99,6 +103,7 @@ public class LootLockerCatalogGooglePlayStoreListing
}
///
+ /// A Steam Store price entry specifying currency code and amount for a catalog listing.
///
public class LootLockerCatalogSteamStoreListingPrice
{
@@ -113,6 +118,7 @@ public class LootLockerCatalogSteamStoreListingPrice
}
///
+ /// Steam Store listing information for a catalog entry.
///
public class LootLockerCatalogSteamStoreListing
{
@@ -127,6 +133,7 @@ public class LootLockerCatalogSteamStoreListing
}
///
+ /// Stripe Store listing information for a catalog entry.
///
public class LootLockerCatalogStripeStoreListing
{
@@ -157,6 +164,7 @@ public class LootLockerCatalogPlaystationStoreListing
}
///
+ /// All store-specific listing information for a catalog entry across supported platforms.
///
public class LootLockerCatalogEntryListings
{
@@ -271,6 +279,7 @@ public LootLockerAssetItemDetailsKey(LootLockerItemDetailsKey key)
}
///
+ /// A single entry in a LootLocker catalog, combining entity metadata with prices and store listings.
///
public class LootLockerCatalogEntry
{
@@ -318,6 +327,7 @@ public LootLockerItemDetailsKey GetItemDetailsKey()
}
///
+ /// Details about an asset entity referenced by a catalog entry.
///
public class LootLockerAssetDetails
{
@@ -373,6 +383,7 @@ public LootLockerAssetItemDetailsKey GetAssetItemDetailsKey()
}
///
+ /// Details about a progression points entity referenced by a catalog entry.
///
public class LootLockerProgressionPointDetails
{
@@ -407,6 +418,7 @@ public LootLockerItemDetailsKey GetItemDetailsKey()
}
///
+ /// Details about a progression reset entity referenced by a catalog entry.
///
public class LootLockerProgressionResetDetails
{
@@ -437,6 +449,7 @@ public LootLockerItemDetailsKey GetItemDetailsKey()
}
///
+ /// Details about a currency entity referenced by a catalog entry.
///
public class LootLockerCurrencyDetails
{
@@ -568,6 +581,7 @@ public LootLockerItemDetailsKey GetItemDetailsKey()
//==================================================
///
+ /// Response containing a list of all catalogs available for the game.
///
public class LootLockerListCatalogsResponse : LootLockerResponse
{
@@ -578,6 +592,7 @@ public class LootLockerListCatalogsResponse : LootLockerResponse
}
///
+ /// Response containing a catalog's entries and all associated entity detail lookup maps.
///
public class LootLockerListCatalogPricesResponse : LootLockerResponse
{
@@ -778,6 +793,7 @@ public LootLockerListCatalogPricesResponse(LootLockerResponse serverResponse)
}
///
+ /// A catalog entry with all relevant entity details inlined for convenient access without separate lookup maps.
///
public class LootLockerInlinedCatalogEntry : LootLockerCatalogEntry
{
@@ -951,6 +967,7 @@ public LootLockerInlinedCatalogEntry[] GetLootLockerInlinedCatalogEntries()
}
///
+ /// Response (v2) containing a catalog's entries and all associated entity detail lookup maps.
///
public class LootLockerListCatalogPricesV2Response : LootLockerResponse
{
@@ -1155,6 +1172,7 @@ public LootLockerListCatalogPricesV2Response(LootLockerResponse serverResponse)
}
///
+ /// A catalog entry with all relevant entity details inlined for convenient access without separate lookup maps.
///
public class LootLockerInlinedCatalogEntry : LootLockerCatalogEntry
{
diff --git a/Runtime/Game/Requests/ClassRequests.cs b/Runtime/Game/Requests/ClassRequests.cs
index 819da59c..8ef92e82 100644
--- a/Runtime/Game/Requests/ClassRequests.cs
+++ b/Runtime/Game/Requests/ClassRequests.cs
@@ -9,16 +9,22 @@
namespace LootLocker.Requests
{
+ ///
+ /// Response containing the currently equipped loadout for the default class.
+ ///
public class LootLockerGetCurrentLoadoutToDefaultClassResponse : LootLockerResponse
{
+ /// The loadout items currently equipped on the default class.
public LootLockerDefaultClassLoadout[] loadout { get; set; }
+ /// Returns the context names of all equipped assets.
public string[] GetContexts()
{
string[] context = loadout.Select(x => x.asset.context).ToArray();
return context;
}
+ /// Returns the asset objects of all equipped items.
public LootLockerCommonAsset[] GetAssets()
{
LootLockerCommonAsset[] context = loadout.Select(x => x.asset).ToArray();
@@ -26,22 +32,39 @@ public LootLockerCommonAsset[] GetAssets()
}
}
+ ///
+ /// A single loadout slot on the default class, combining asset details with equip metadata.
+ ///
public class LootLockerDefaultClassLoadout
{
+ /// The id of the asset variation that is equipped in this slot.
public int variation_id { get; set; }
+ /// The inventory instance id of the equipped asset.
public int instance_id { get; set; }
+ /// When this item was equipped.
public DateTime mounted_at { get; set; }
+ /// Full asset details for the equipped item.
public LootLockerCommonAsset asset { get; set; }
+ /// Rental status for the equipped item, if it was acquired as a rental.
public LootLockerRental rental { get; set; }
}
+ ///
+ /// A default loadout entry for a class type, pairing an asset with its expected id and variation.
+ ///
public class LootLockerClassTypeDefaultLoadout
{
+ /// The id of the asset that is part of the default loadout.
public int asset_id { get; set; }
+ /// The variation id of the asset to use in the default loadout.
public int asset_variation_id { get; set; }
+ /// Full asset details.
public LootLockerCommonAsset asset { get; set; }
}
+ ///
+ /// Response containing a list of available class types for this game.
+ ///
public class LootLockerListClassTypesResponse : LootLockerResponse
{
#if LOOTLOCKER_USE_NEWTONSOFTJSON
@@ -49,76 +72,129 @@ public class LootLockerListClassTypesResponse : LootLockerResponse
#else
[Json(Name = "character_types")]
#endif
+ /// The list of class types available for this game, deserialized from the "character_types" JSON field.
public LootLockerClassTypes[] class_types { get; set; }
}
+ ///
+ /// Describes a class type, including its identifier, name, default storage, and default loadout.
+ ///
public class LootLockerClassTypes
{
+ /// The unique integer id of this class type.
public int id { get; set; }
+ /// Whether this is the default class type.
public bool is_default { get; set; }
+ /// The display name of this class type.
public string name { get; set; }
+ /// Key-value storage entries attached to this class type.
public LootLockerStorage[] storage { get; set; }
+ /// The default loadout assets associated with this class type.
public LootLockerClassTypeDefaultLoadout[] default_loadout { get; set; }
}
+ ///
+ /// A single item in a class's equipped loadout, pairing an asset with its equip slot metadata.
+ ///
public class LootLockerLoadouts
{
+ /// The id of the asset variation equipped in this slot.
public string variation_id { get; set; }
+ /// The inventory instance id of the equipped asset.
public int instance_id { get; set; }
+ /// When this item was equipped.
public DateTime mounted_at { get; set; }
+ /// Full asset details for the equipped item.
public LootLockerCommonAsset asset { get; set; }
}
+ ///
+ /// Request to create a new class for the current player.
+ ///
public class LootLockerCreateClassRequest
{
+ /// Whether the newly created class should be set as the player's default class.
public bool is_default { get; set; }
+ /// The display name for the new class.
public string name { get; set; }
+ /// The id of the class type to use for the new class.
public string character_type_id { get; set; }
}
+ ///
+ /// Request to update an existing class for the current player.
+ ///
public class LootLockerUpdateClassRequest
{
+ /// Whether to set this class as the player's default class.
public bool is_default { get; set; }
+ /// The new display name for the class.
public string name { get; set; }
}
+ ///
+ /// Request to equip an asset to a class by its inventory instance id.
+ ///
public class LootLockerEquipByIDRequest
{
+ /// The inventory instance id of the asset to equip.
public int instance_id { get; set; }
}
+ ///
+ /// Request to equip an asset to a class by specifying the asset id and variation.
+ ///
public class LootLockerEquipByAssetRequest
{
+ /// The id of the asset to equip.
public int asset_id { get; set; }
+ /// The id of the asset variation to equip.
public int asset_variation_id { get; set; }
}
+ ///
+ /// Response containing the current loadout for one or more classes belonging to the player.
+ ///
public class LootLockerClassLoadoutResponse : LootLockerResponse
{
+ /// The list of class loadout entries returned by the endpoint.
public LootLockerClassLoadout[] loadouts { get; set; }
+ /// Returns the class object matching the given name, or null if not found.
public LootLockerClass GetClass(string name)
{
LootLockerClass lootLockerCharacter = loadouts.FirstOrDefault(x => x.Class.name == name)?.Class;
return lootLockerCharacter;
}
+ /// Returns all class objects from the loadout entries.
public LootLockerClass[] GetClassess()
{
return loadouts.Select(x => x.Class).ToArray();
}
}
+ ///
+ /// Identifies a class belonging to a player, including its type and whether it is the default.
+ ///
public class LootLockerClass
{
+ /// The unique integer id of this class.
public int id { get; set; }
+ /// The class type name.
public string type { get; set; }
+ /// The display name of this class.
public string name { get; set; }
+ /// The ULID of this class.
public string ulid { get; set; }
+ /// Whether this is the player's default class.
public bool is_default { get; set; }
}
+ ///
+ /// A class and its associated equipped loadout items, as returned from class loadout endpoints.
+ ///
public class LootLockerClassLoadout
{
#if LOOTLOCKER_USE_NEWTONSOFTJSON
@@ -126,10 +202,15 @@ public class LootLockerClassLoadout
#else
[Json(Name = "character")]
#endif
+ /// The class associated with this loadout entry.
public LootLockerClass Class { get; set; }
+ /// The list of equipped loadout items for this class.
public LootLockerLoadouts[] loadout { get; set; }
}
+ ///
+ /// Response containing the class that received the equipped asset along with its updated loadout.
+ ///
public class EquipAssetToClassLoadoutResponse : LootLockerResponse
{
#if LOOTLOCKER_USE_NEWTONSOFTJSON
@@ -137,11 +218,17 @@ public class EquipAssetToClassLoadoutResponse : LootLockerResponse
#else
[Json(Name = "character")]
#endif
+ /// The class that had the asset equipped.
public LootLockerClass Class { get; set; }
+ /// The updated list of equipped loadout items for this class.
public LootLockerLoadouts[] loadout { get; set; }
+ /// An error message, if the equip operation failed.
public string error { get; set; }
}
+ ///
+ /// Response containing a list of all classes belonging to the current player.
+ ///
public class LootLockerPlayerClassListResponse : LootLockerResponse
{
#if LOOTLOCKER_USE_NEWTONSOFTJSON
@@ -149,6 +236,7 @@ public class LootLockerPlayerClassListResponse : LootLockerResponse
#else
[Json(Name = "items")]
#endif
+ /// The list of classes belonging to the current player.
public LootLockerClass[] classes { get; set; }
}
diff --git a/Runtime/Game/Requests/ConnectedAccountRequest.cs b/Runtime/Game/Requests/ConnectedAccountRequest.cs
index 62c81ab4..458b11d1 100644
--- a/Runtime/Game/Requests/ConnectedAccountRequest.cs
+++ b/Runtime/Game/Requests/ConnectedAccountRequest.cs
@@ -36,6 +36,7 @@ namespace LootLocker.Requests
//==================================================
///
+ /// An account provider linked to the current player's LootLocker account.
///
public class LootLockerConnectedAccountProvider
{
@@ -54,6 +55,7 @@ public class LootLockerConnectedAccountProvider
//==================================================
///
+ /// Request to link a Google account to the current player's LootLocker account using an id token.
///
public class LootLockerConnectGoogleProviderToAccountRequest
{
@@ -64,6 +66,7 @@ public class LootLockerConnectGoogleProviderToAccountRequest
}
///
+ /// Request to link a Google account to the current player's LootLocker account, specifying the OAuth2 client platform.
///
public class LootLockerConnectGoogleProviderToAccountWithPlatformRequest
{
@@ -78,6 +81,7 @@ public class LootLockerConnectGoogleProviderToAccountWithPlatformRequest
}
///
+ /// Request to link a remote session to the current player's LootLocker account using a lease code and nonce.
///
public class LootLockerConnectRemoteSessionToAccountRequest
{
@@ -92,6 +96,7 @@ public class LootLockerConnectRemoteSessionToAccountRequest
}
///
+ /// Request to transfer connected account providers from one LootLocker player account to another.
///
public class LootLockerTransferProvidersBetweenAccountsRequest
{
@@ -110,6 +115,7 @@ public class LootLockerTransferProvidersBetweenAccountsRequest
}
///
+ /// Request to link an Apple account to the current player's LootLocker account using an authorization code.
///
public class LootLockerConnectAppleRestProviderToAccountRequest
{
@@ -120,6 +126,7 @@ public class LootLockerConnectAppleRestProviderToAccountRequest
}
///
+ /// Request to link an Epic Games account to the current player's LootLocker account.
///
public class LootLockerConnectEpicProviderToAccountRequest
{
@@ -130,6 +137,7 @@ public class LootLockerConnectEpicProviderToAccountRequest
}
///
+ /// Request to link a PlayStation account to the current player's LootLocker account.
///
public class LootLockerConnectPlaystationProviderToAccountRequest
{
@@ -144,6 +152,7 @@ public class LootLockerConnectPlaystationProviderToAccountRequest
}
///
+ /// Request to link a Discord account to the current player's LootLocker account.
///
public class LootLockerConnectDiscordProviderToAccountRequest
{
@@ -154,6 +163,7 @@ public class LootLockerConnectDiscordProviderToAccountRequest
}
///
+ /// Request to link a Twitch account to the current player's LootLocker account using an authorization code.
///
public class LootLockerConnectTwitchProviderToAccountRequest
{
@@ -168,6 +178,7 @@ public class LootLockerConnectTwitchProviderToAccountRequest
//==================================================
///
+ /// Response returned after successfully connecting an account provider to the current player's LootLocker account.
///
public class LootLockerAccountConnectedResponse : LootLockerResponse
{
@@ -178,6 +189,7 @@ public class LootLockerAccountConnectedResponse : LootLockerResponse
}
///
+ /// Response containing all account providers connected to the current player's LootLocker account.
///
public class LootLockerListConnectedAccountsResponse : LootLockerResponse
{
diff --git a/Runtime/Game/Requests/CurrencyRequests.cs b/Runtime/Game/Requests/CurrencyRequests.cs
index b898617f..05eb5719 100644
--- a/Runtime/Game/Requests/CurrencyRequests.cs
+++ b/Runtime/Game/Requests/CurrencyRequests.cs
@@ -67,6 +67,7 @@ public class LootLockerDenomination
//==================================================
///
+ /// Response containing a list of all available currencies for this game.
///
public class LootLockerListCurrenciesResponse : LootLockerResponse
{
@@ -77,6 +78,7 @@ public class LootLockerListCurrenciesResponse : LootLockerResponse
};
///
+ /// Response containing a list of all denominations for a specific currency.
///
public class LootLockerListDenominationsResponse : LootLockerResponse
{
diff --git a/Runtime/Game/Requests/EntitlementRequests.cs b/Runtime/Game/Requests/EntitlementRequests.cs
index d01a86b9..7f67fd2f 100644
--- a/Runtime/Game/Requests/EntitlementRequests.cs
+++ b/Runtime/Game/Requests/EntitlementRequests.cs
@@ -48,6 +48,7 @@ namespace LootLocker.Requests
//==================================================
///
+ /// An individual item within an entitlement listing, referencing a catalog item.
///
public class LootLockerEntitlementHistoryItem
{
@@ -84,6 +85,7 @@ public class LootLockerEntitlementHistoryItem
}
///
+ /// A metadata key-value pair attached to an entitlement listing, carrying additional context about the entitlement.
///
public class LootLockerEntitlementHistoryMetadata
{
@@ -100,6 +102,7 @@ public class LootLockerEntitlementHistoryMetadata
}
///
+ /// A reward (such as a leaderboard or progression reward) included in an entitlement listing.
///
public class LootLockerEntitlementHistoryReward
{
@@ -121,6 +124,7 @@ public class LootLockerEntitlementHistoryReward
}
///
+ /// A complete entitlement listing, grouping items, rewards, and metadata for a single entitlement event.
///
public class LootLockerEntitlementListing
{
@@ -172,6 +176,7 @@ public class LootLockerEntitlementListing
//==================================================
///
+ /// Response containing a paginated history of entitlement listings for the current player.
///
public class LootLockerEntitlementHistoryResponse : LootLockerResponse
{
diff --git a/Runtime/Game/Requests/FollowerRequests.cs b/Runtime/Game/Requests/FollowerRequests.cs
index ed764631..011a2f35 100644
--- a/Runtime/Game/Requests/FollowerRequests.cs
+++ b/Runtime/Game/Requests/FollowerRequests.cs
@@ -38,6 +38,7 @@ public class LootLockerFollower
//==================================================
///
+ /// Response containing a paginated list of followers for a player.
///
public class LootLockerListFollowersResponse : LootLockerResponse
{
@@ -52,6 +53,7 @@ public class LootLockerListFollowersResponse : LootLockerResponse
}
///
+ /// Response containing a paginated list of players that the specified player is following.
///
public class LootLockerListFollowingResponse : LootLockerResponse
{
@@ -72,6 +74,7 @@ public class LootLockerListFollowingResponse : LootLockerResponse
}
///
+ /// Response for follow/unfollow operations (follow, unfollow).
///
public class LootLockerFollowersOperationResponse : LootLockerResponse
{
diff --git a/Runtime/Game/Requests/LeaderboardDetailsRequest.cs b/Runtime/Game/Requests/LeaderboardDetailsRequest.cs
index d05f2c9e..dce5e2a2 100644
--- a/Runtime/Game/Requests/LeaderboardDetailsRequest.cs
+++ b/Runtime/Game/Requests/LeaderboardDetailsRequest.cs
@@ -5,6 +5,9 @@
namespace LootLocker.Requests
{
+ ///
+ /// Response containing the full configuration details of a specific leaderboard, including its schedule and rewards.
+ ///
public class LootLockerLeaderboardDetailResponse : LootLockerResponse
{
///
@@ -53,6 +56,9 @@ public class LootLockerLeaderboardDetailResponse : LootLockerResponse
public string ulid { get; set; }
}
+ ///
+ /// A currency reward attached to a leaderboard, describing the currency and amount to grant when the reward is triggered.
+ ///
public class LootLockerLeaderboardRewardCurrency
{
///
@@ -81,6 +87,9 @@ public class LootLockerLeaderboardRewardCurrency
public string currency_id { get; set; }
}
+ ///
+ /// Details about the currency associated with a leaderboard currency reward.
+ ///
public class LootLockerLeaderboardRewardCurrencyDetails
{
///
@@ -101,6 +110,9 @@ public class LootLockerLeaderboardRewardCurrencyDetails
public string id { get; set; }
}
+ ///
+ /// A progression points reward attached to a leaderboard, granting points to a specific progression when triggered.
+ ///
public class LootLockerLeaderboardRewardProgression
{
///
@@ -129,6 +141,9 @@ public class LootLockerLeaderboardRewardProgression
public string reward_id { get; set; }
}
+ ///
+ /// Details about the progression associated with a leaderboard progression points reward.
+ ///
public class LootLockerLeaderboardRewardProgressionDetails
{
///
@@ -149,6 +164,9 @@ public class LootLockerLeaderboardRewardProgressionDetails
public string id { get; set; }
}
+ ///
+ /// A progression reset reward attached to a leaderboard, resetting a specific progression when triggered.
+ ///
public class LootLockerLeaderboardRewardProgressionReset
{
///
@@ -173,6 +191,9 @@ public class LootLockerLeaderboardRewardProgressionReset
public string reward_id { get; set; }
}
+ ///
+ /// Details about the progression associated with a leaderboard progression reset reward.
+ ///
public class LootLockerLeaderboardRewardProgressionResetDetails
{
///
@@ -189,6 +210,9 @@ public class LootLockerLeaderboardRewardProgressionResetDetails
public string id { get; set; }
}
+ ///
+ /// An asset reward attached to a leaderboard, granting a specific asset (or variation or rental) when triggered.
+ ///
public class LootLockerLeaderboardRewardAsset
{
///
@@ -225,6 +249,9 @@ public class LootLockerLeaderboardRewardAsset
public string asset_ulid { get; set; }
}
+ ///
+ /// Details about the asset associated with a leaderboard asset reward.
+ ///
public class LootLockerLeaderboardRewardAssetDetails
{
///
@@ -261,6 +288,9 @@ public class LootLockerLeaderboardRewardAssetDetails
public string id { get; set; }
}
+ ///
+ /// A reward attached to a leaderboard. The reward kind determines which reward type field is populated.
+ ///
public class LootLockerLeaderboardReward
{
///
@@ -293,6 +323,9 @@ public class LootLockerLeaderboardReward
public LootLockerLeaderboardRewardGroup group { get; set; }
}
+ ///
+ /// Rank range predicates determining which players receive a specific leaderboard reward.
+ ///
public class LootLockerLeaderboardRewardPredicates
{
///
@@ -309,6 +342,9 @@ public class LootLockerLeaderboardRewardPredicates
public LootLockerLeaderboardRewardPredicatesArgs args { get; set; }
}
+ ///
+ /// The rank range arguments for a leaderboard reward predicate, defining the min/max rank boundaries and method.
+ ///
public class LootLockerLeaderboardRewardPredicatesArgs
{
///
@@ -329,6 +365,9 @@ public class LootLockerLeaderboardRewardPredicatesArgs
public string direction { get; set; }
}
+ ///
+ /// A group reward attached to a leaderboard, bundling multiple rewards of different types into a single named group.
+ ///
public class LootLockerLeaderboardRewardGroup
{
///
@@ -358,6 +397,9 @@ public class LootLockerLeaderboardRewardGroup
}
+ ///
+ /// A single reward entry within a leaderboard reward group, specifying the kind and the associated reward details.
+ ///
public class LootLockerLeaderboardGroupRewardAssociations
{
///
@@ -387,6 +429,9 @@ public class LootLockerLeaderboardGroupRewardAssociations
}
+ ///
+ /// The reset schedule configuration for a leaderboard, including a cron expression and the next and last reset dates.
+ ///
public class LootLockerLeaderboardSchedule
{
///
diff --git a/Runtime/Game/Requests/LeaderboardRequest.cs b/Runtime/Game/Requests/LeaderboardRequest.cs
index 82abc238..83264b16 100644
--- a/Runtime/Game/Requests/LeaderboardRequest.cs
+++ b/Runtime/Game/Requests/LeaderboardRequest.cs
@@ -7,6 +7,10 @@ namespace LootLocker.Requests
//==================================================
// Data Definitions
//==================================================
+
+ ///
+ /// Details about a leaderboard's configuration, schedule, and rewards.
+ ///
public class LootLockerLeaderboardDetails
{
///
@@ -55,28 +59,50 @@ public class LootLockerLeaderboardDetails
public LootLockerLeaderboardReward[] rewards { get; set; }
}
+ ///
+ /// Basic player information as returned in leaderboard entries.
+ ///
public class LootLockerPlayer
{
+ /// The legacy integer id of the player.
public int id { get; set; }
+ /// The public UID of the player.
public string public_uid { get; set; }
+ /// The display name of the player.
public string name { get; set; }
+ /// The ULID of the player.
public string ulid { get; set; }
}
+ ///
+ /// A single member's entry on a leaderboard, including their rank, score, metadata, and player information.
+ ///
public class LootLockerLeaderboardMember
{
+ /// The member id used to identify this entry on a generic leaderboard.
public string member_id { get; set; }
+ /// The rank of this member on the leaderboard.
public int rank { get; set; }
+ /// The score of this member.
public int score { get; set; }
+ /// Player information for this member, if the leaderboard is a player leaderboard.
public LootLockerPlayer player { get; set; }
+ /// Optional metadata string attached to this score submission.
public string metadata { get; set; }
}
+ ///
+ /// A player's rank entry across a specific leaderboard, linking the rank details to the leaderboard identifier.
+ ///
public class LootLockerLeaderboard
{
+ /// The rank details for the player on this leaderboard.
public LootLockerLeaderboardMember rank { get; set; }
+ /// The legacy integer id of the leaderboard.
public int leaderboard_id { get; set; }
+ /// The key used to identify this leaderboard.
public string leaderboard_key { get; set; }
+ /// The ULID of this leaderboard.
public string ulid { get; set; }
}
@@ -124,12 +150,20 @@ public class LootLockerLeaderboardArchiveDetails
public int score { get; set; }
}
+ ///
+ /// Pagination state for leaderboard cursor-based pagination.
+ ///
public class LootLockerPagination
{
+ /// The total number of entries on the leaderboard.
public int total { get; set; }
+ /// The cursor value for the next page of results, or null if on the last page.
public int? next_cursor { get; set; }
+ /// The cursor value for the previous page of results, or null if on the first page.
public int? previous_cursor { get; set; }
+ /// Whether there is a next page of results available.
public bool allowNext { get; set; }
+ /// Whether there is a previous page of results available.
public bool allowPrev { get; set; }
}
@@ -158,30 +192,54 @@ public class LootLockerLeaderBoardPlayer
//==================================================
// Request Definitions
//==================================================
+
+ ///
+ /// Pagination parameters for requesting a range of leaderboard entries.
+ ///
public class LootLockerGetRequests
{
+ /// The maximum number of entries to return per page.
public int count { get; set; }
+ /// A cursor value specifying the entry after which to begin returning results.
public string after { get; set; }
}
+ ///
+ /// Request to submit or update a score on a leaderboard.
+ ///
public class LootLockerSubmitScoreRequest
{
+ /// The member id to attribute this score to on a generic leaderboard.
public string member_id { get; set; }
+ /// The score value to submit.
public int score { get; set; }
+ /// Optional metadata string to attach to this score submission.
public string metadata { get; set; }
}
+ ///
+ /// Request to query the theoretical rank a given score would achieve on a leaderboard.
+ ///
public class LootLockerQueryScoreRequest
{
+ /// The score value to query the rank for.
public int score { get; set; }
}
+ ///
+ /// Request to increment a member's score on a leaderboard by the given amount.
+ ///
public class LootLockerIncrementScoreRequest
{
+ /// The member id of the entry to increment.
public string member_id { get; set; }
+ /// The amount by which to increment the score.
public int amount { get; set; }
}
+ ///
+ /// Request to retrieve entries from an archived (past) leaderboard.
+ ///
[Serializable]
public class LootLockerLeaderboardArchiveRequest
{
@@ -199,18 +257,30 @@ public class LootLockerLeaderboardArchiveRequest
public string after { get; set; }
}
+ ///
+ /// Request to fetch the rank of a specific member on a leaderboard.
+ ///
public class LootLockerGetMemberRankRequest
{
+ /// The key or id of the leaderboard to query.
public string leaderboardId { get; set; }
+ /// The member id to find the rank for.
public string member_id { get; set; }
}
+ ///
+ /// Request to retrieve a paginated score list for a specific leaderboard, with cursor-based pagination state.
+ ///
public class LootLockerGetScoreListRequest : LootLockerGetRequests
{
+ /// The key of the leaderboard to retrieve scores from.
public string leaderboardKey { get; set; }
+ /// The cursor for the next page of results.
public static int? nextCursor { get; set; }
+ /// The cursor for the previous page of results.
public static int? prevCursor { get; set; }
+ /// Resets the pagination cursors to the start of the leaderboard.
public static void Reset()
{
nextCursor = 0;
@@ -218,12 +288,19 @@ public static void Reset()
}
}
+ ///
+ /// Request to retrieve leaderboard ranks for all leaderboards a specific member appears on.
+ ///
public class LootLockerGetAllMemberRanksRequest : LootLockerGetRequests
{
+ /// The legacy integer id of the member to look up.
public int member_id { get; set; }
+ /// The cursor for the next page of results.
public static int? nextCursor { get; set; }
+ /// The cursor for the previous page of results.
public static int? prevCursor { get; set; }
+ /// Resets the pagination cursors.
public static void Reset()
{
nextCursor = 0;
@@ -231,8 +308,12 @@ public static void Reset()
}
}
+ ///
+ /// Request to retrieve leaderboard scores for a list of specific member ids.
+ ///
public class LootLockerGetByListMembersRequest
{
+ /// The member ids to retrieve scores for.
public string[] members { get; set; }
}
@@ -240,8 +321,9 @@ public class LootLockerGetByListMembersRequest
// Response Definitions
//==================================================
- //
- //
+ ///
+ /// Response containing a paginated list of leaderboard definitions.
+ ///
public class LootLockerListLeaderboardsResponse : LootLockerResponse
{
///
@@ -249,48 +331,79 @@ public class LootLockerListLeaderboardsResponse : LootLockerResponse
///
public LootLockerPaginationResponse pagination { get; set; }
- //
- // List of details for the requested leaderboards
- //
+ ///
+ /// List of details for the requested leaderboards
+ ///
public LootLockerLeaderboardDetails[] items { get; set; }
}
+ ///
+ /// Response containing the rank and score for a specific member on a leaderboard.
+ ///
public class LootLockerGetMemberRankResponse : LootLockerResponse
{
- // we are doing thisfor legacy reasons, since it is no longer being set on the backend
+ /// The member id for this entry (set for legacy compatibility).
public string member_id { get; set; }
+ /// The rank of this member on the leaderboard.
public int rank { get; set; }
+ /// The score of this member.
public int score { get; set; }
+ /// Player information for this member, if the leaderboard is a player leaderboard.
public LootLockerPlayer player { get; set; }
+ /// Optional metadata string attached to this score submission.
public string metadata { get; set; }
}
+ ///
+ /// Response containing the leaderboard entries for a list of specific member ids.
+ ///
public class LootLockerGetByListOfMembersResponse : LootLockerResponse
{
+ /// The leaderboard entries for the requested members.
public LootLockerLeaderboardMember[] members { get; set; }
}
+ ///
+ /// Response containing a paginated list of scores for a specific leaderboard.
+ ///
public class LootLockerGetScoreListResponse : LootLockerResponse
{
+ /// Pagination data for this request.
public LootLockerPagination pagination { get; set; }
+ /// The leaderboard entries returned for this page.
public LootLockerLeaderboardMember[] items { get; set; }
}
+ ///
+ /// Response containing all leaderboard ranks for a specific member across all leaderboards.
+ ///
public class LootLockerGetAllMemberRanksResponse : LootLockerResponse
{
+ /// The leaderboard rank entries for the requested member.
public LootLockerLeaderboard[] leaderboards { get; set; }
+ /// Pagination data for this request.
public LootLockerPagination pagination { get; set; }
}
+ ///
+ /// Response returned after submitting a score to a leaderboard, showing the resulting rank.
+ ///
public class LootLockerSubmitScoreResponse : LootLockerResponse
{
+ /// The member id of the entry that was submitted or updated.
public string member_id { get; set; }
+ /// The resulting rank of the member after the score was submitted.
public int rank { get; set; }
+ /// The submitted score value.
public int score { get; set; }
+ /// The optional metadata string attached to this submission.
public string metadata { get; set; }
}
+ ///
+ /// Response containing a list of archived (past) leaderboard snapshots.
+ ///
public class LootLockerLeaderboardArchiveResponse : LootLockerResponse
{
///
@@ -299,6 +412,9 @@ public class LootLockerLeaderboardArchiveResponse : LootLockerResponse
public LootLockerLeaderboardArchive[] archives { get; set; }
}
+ ///
+ /// Response containing the paginated entries from a specific archived leaderboard snapshot.
+ ///
public class LootLockerLeaderboardArchiveDetailsResponse : LootLockerResponse
{
///
diff --git a/Runtime/Game/Requests/LootLockerCommonRequestTypes.cs b/Runtime/Game/Requests/LootLockerCommonRequestTypes.cs
index bae3617f..dafd0214 100644
--- a/Runtime/Game/Requests/LootLockerCommonRequestTypes.cs
+++ b/Runtime/Game/Requests/LootLockerCommonRequestTypes.cs
@@ -3,15 +3,25 @@
namespace LootLocker.Requests
{
+ ///
+ /// A key-value pair used to store arbitrary data on a player or asset.
+ ///
public class LootLockerStorage
{
+ /// The unique identifier for this storage entry.
public int id { get; set; }
+ /// The key for this storage entry.
public string key { get; set; }
+ /// The value for this storage entry.
public string value { get; set; }
}
+ ///
+ /// A dictionary of named links (URLs) associated with an asset, with a convenience accessor for the thumbnail URL.
+ ///
public class LootLockerLinks : Dictionary
{
+ /// The URL pointing to the asset's thumbnail image, if available.
public string thumbnail
{
get
@@ -33,135 +43,243 @@ public string thumbnail
}
}
+ ///
+ /// Rarity information for an asset, describing its name, short code, and display color.
+ ///
public class LootLockerRarity
{
+ /// The full name of the rarity tier (e.g. "Legendary").
public string name { get; set; }
+ /// A short code for the rarity tier (e.g. "L").
public string short_name { get; set; }
+ /// The hex color code associated with this rarity tier.
public string color { get; set; }
}
+ ///
+ /// A rental option available for an asset, defining duration, price, and related links.
+ ///
public class LootLockerRental_Options
{
+ /// The unique identifier for this rental option.
public int id { get; set; }
+ /// The display name of this rental option.
public string name { get; set; }
+ /// The rental duration in seconds.
public int duration { get; set; }
+ /// The regular price for this rental option.
public int price { get; set; }
+ /// The sale price for this rental option, or null if not on sale.
public object sales_price { get; set; }
+ /// Links associated with this rental option.
public object links { get; set; }
}
+ ///
+ /// A filter applied to an asset, consisting of a name-value pair used to categorise or tag the asset.
+ ///
public class LootLockerFilter
{
+ /// The value of this filter tag.
public string value { get; set; }
+ /// The name of this filter tag.
public string name { get; set; }
}
+ ///
+ /// A named variation of an asset with optional color information and associated links.
+ ///
public class LootLockerVariation
{
+ /// The unique identifier of this variation.
public int id { get; set; }
+ /// The display name of this variation.
public string name { get; set; }
+ /// The primary color of this variation, or null if not set.
public object primary_color { get; set; }
+ /// The secondary color of this variation, or null if not set.
public object secondary_color { get; set; }
+ /// A dictionary of named links (e.g. image URLs) associated with this variation.
public Dictionary links { get; set; }
}
+ ///
+ /// A file associated with an asset, described by a URL and an optional set of tags.
+ ///
public class LootLockerFile
{
+ /// The URL from which the file can be downloaded.
public string url { get; set; }
+ /// Tags categorising or labelling the file.
public string[] tags { get; set; }
}
+ ///
+ /// Information about the player who submitted an asset as a user-generated content (UGC) candidate.
+ ///
public class LootLockerAssetCandidate
{
+ /// The legacy integer id of the player who created this asset candidate.
public int created_by_player_id { get; set; }
+ /// The public UID of the player who created this asset candidate.
public string created_by_player_uid { get; set; }
}
+ ///
+ /// A full asset object containing all properties of a LootLocker asset, including variations, rental options, storage, and files.
+ ///
[Serializable]
public class LootLockerCommonAsset
{
+ /// The legacy integer id of the asset.
public int id { get; set; }
+ /// The UUID of the asset.
public string uuid { get; set; }
+ /// The ULID of the asset.
public string ulid { get; set; }
+ /// The display name of the asset.
public string name { get; set; }
+ /// Whether the asset is currently active.
public bool active { get; set; }
+ /// Whether the asset can be purchased.
public bool purchasable { get; set; }
+ /// The type category of the asset (e.g. "character", "consumable").
public string type { get; set; }
+ /// The regular price of the asset.
public int price { get; set; }
+ /// The sale price of the asset, or null if not on sale.
public int? sales_price { get; set; }
+ /// A formatted string representation of the price for display purposes.
public string display_price { get; set; }
+ /// The context (category) the asset belongs to.
public string context { get; set; }
+ /// The context unlocked by equipping this asset.
public string unlocks_context { get; set; }
+ /// Whether this asset can be removed from an equip slot after being equipped.
public bool detachable { get; set; }
+ /// When the asset was last updated, as a date string.
public string updated { get; set; }
+ /// When the asset was marked as new, as a date string.
public string marked_new { get; set; }
+ /// The id of the variation that is selected by default.
public int default_variation_id { get; set; }
+ /// The description of the asset.
public string description { get; set; }
+ /// Named links (e.g. image URLs) associated with this asset.
public LootLockerLinks links { get; set; }
public LootLockerStorage[] storage { get; set; }
public LootLockerRarity rarity { get; set; }
public bool popular { get; set; }
public int popularity_score { get; set; }
public bool unique_instance { get; set; }
+ /// Available rental options for this asset.
public LootLockerRental_Options[] rental_options { get; set; }
+ /// Filters (tags) applied to this asset for categorisation.
public LootLockerFilter[] filters { get; set; }
+ /// Variations available for this asset.
public LootLockerVariation[] variations { get; set; }
+ /// Whether this asset is featured.
public bool featured { get; set; }
+ /// Whether this asset is locked to its context and cannot be used outside of it.
public bool context_locked { get; set; }
+ /// Whether this asset can be purchased initially (before any special conditions are met).
public bool initially_purchasable { get; set; }
+ /// Files associated with this asset.
public LootLockerFile[] files { get; set; }
+ /// Information about the UGC creator of this asset, if applicable.
public LootLockerAssetCandidate asset_candidate { get; set; }
+ /// Data entities attached to this asset.
public string[] data_entities { get; set; }
}
+ ///
+ /// Rental status information for an inventory item that was acquired as a rental.
+ ///
[Serializable]
public class LootLockerRental
{
+ /// Whether this inventory item is a rental.
public bool is_rental { get; set; }
+ /// The amount of time remaining on the rental, as a formatted string.
public string time_left { get; set; }
+ /// The total duration of the rental, as a formatted string.
public string duration { get; set; }
+ /// Whether the rental is currently active.
public string is_active { get; set; }
}
+ ///
+ /// Response containing a list of available asset contexts (categories).
+ ///
public class LootLockerContextResponse : LootLockerResponse
{
+ /// The list of asset contexts available for this game.
public LootLockerContext[] contexts { get; set; }
}
+ ///
+ /// An asset context (category) that defines a slot or grouping in which assets can be equipped.
+ ///
public class LootLockerContext
{
+ /// The unique integer identifier of this context.
public int id { get; set; }
+ /// The UUID of this context.
public string uuid { get; set; }
+ /// The internal name of this context.
public string name { get; set; }
+ /// The player-facing display name of this context.
public string friendly_name { get; set; }
+ /// Whether assets in this context can be removed after equipping.
public bool detachable { get; set; }
+ /// Whether this context is visible to players.
public bool user_facing { get; set; }
+ /// The id of an asset that must be equipped before assets in this context can be used, or null if there is no dependency.
public object dependent_asset_id { get; set; }
+ /// The maximum number of assets from this context that can be equipped simultaneously.
public int max_equip_count { get; set; }
}
+ ///
+ /// Response containing the time remaining after activating a rental asset.
+ ///
public class LootLockerActivateRentalAssetResponse : LootLockerResponse
{
+ /// The number of seconds remaining on the activated rental.
public int time_left { get; set; }
}
+ ///
+ /// Response containing the player's full inventory.
+ ///
[Serializable]
public class LootLockerInventoryResponse : LootLockerResponse
{
+ /// The list of inventory items owned by the player.
public LootLockerInventory[] inventory { get; set; }
}
+ ///
+ /// A single item in a player's inventory, combining asset details with instance-specific metadata.
+ ///
public class LootLockerInventory
{
+ /// The unique identifier for this specific inventory instance.
public int instance_id { get; set; }
+ /// The id of the asset variation for this item, or null for the default variation.
public int? variation_id { get; set; }
+ /// The id of the rental option used to acquire this item, or null if not rented.
public string rental_option_id { get; set; }
+ /// The source through which this item was acquired (e.g. "purchase", "grant").
public string acquisition_source { get; set; }
+ /// When this item was acquired, or null if the date is not available.
public DateTime? acquisition_date { get; set; }
+ /// Full asset details for this inventory item.
public LootLockerCommonAsset asset { get; set; }
+ /// Rental status for this item, if it was acquired as a rental.
public LootLockerRental rental { get; set; }
-
+ /// The current balance associated with this inventory item.
public float balance { get; set; }
}
}
\ No newline at end of file
diff --git a/Runtime/Game/Requests/MetadataRequests.cs b/Runtime/Game/Requests/MetadataRequests.cs
index c95b99a8..896c274c 100644
--- a/Runtime/Game/Requests/MetadataRequests.cs
+++ b/Runtime/Game/Requests/MetadataRequests.cs
@@ -213,6 +213,7 @@ public bool TryGetValueAsBase64(out LootLockerMetadataBase64Value output)
}
///
+ /// A source identifier paired with a list of metadata keys, used to specify which keys to retrieve from a given source.
///
public class LootLockerMetadataSourceAndKeys
{
@@ -231,6 +232,7 @@ public class LootLockerMetadataSourceAndKeys
}
///
+ /// A source identifier paired with its retrieved metadata entries.
///
public class LootLockerMetadataSourceAndEntries
{
@@ -261,6 +263,7 @@ public class LootLockerMetadataOperationErrorKeyTypePair
}
///
+ /// An error that occurred while performing a metadata operation, identifying the action, entry, and reason for failure.
///
public class LootLockerMetadataOperationError
{
@@ -279,6 +282,7 @@ public class LootLockerMetadataOperationError
}
///
+ /// A metadata entry combined with the action to perform on it (create, update, delete).
///
public class LootLockerMetadataOperation : LootLockerMetadataEntry
{
@@ -289,6 +293,7 @@ public class LootLockerMetadataOperation : LootLockerMetadataEntry
}
///
+ /// An internal representation of a metadata operation with string-typed enum fields, used for serializing requests.
///
public class LootLockerInternalMetadataOperationWithStringEnums : LootLockerMetadataOperation
{
@@ -313,6 +318,7 @@ public LootLockerInternalMetadataOperationWithStringEnums(LootLockerMetadataOper
//==================================================
///
+ /// Request to retrieve metadata from multiple sources at once.
///
public class LootLockerGetMultisourceMetadataRequest
{
@@ -323,6 +329,7 @@ public class LootLockerGetMultisourceMetadataRequest
}
///
+ /// Internal request object for a batch of metadata operations on a specific source.
///
public class LootLockerInternalMetadataOperationRequest
{
@@ -348,6 +355,7 @@ public class LootLockerInternalMetadataOperationRequest
// Response Definitions
//==================================================
///
+ /// Response containing a paginated list of metadata entries for a source.
///
public class LootLockerListMetadataResponse : LootLockerResponse
{
@@ -362,6 +370,7 @@ public class LootLockerListMetadataResponse : LootLockerResponse
};
///
+ /// Response containing a single metadata entry retrieved by key.
///
public class LootLockerGetMetadataResponse : LootLockerResponse
{
@@ -372,6 +381,7 @@ public class LootLockerGetMetadataResponse : LootLockerResponse
};
///
+ /// Response containing metadata entries for multiple sources, grouped by source.
///
public class LootLockerGetMultisourceMetadataResponse : LootLockerResponse
{
@@ -382,6 +392,7 @@ public class LootLockerGetMultisourceMetadataResponse : LootLockerResponse
};
///
+ /// Response from a metadata operations request, indicating the source and any errors that occurred.
///
public class LootLockerMetadataOperationsResponse : LootLockerResponse
{
diff --git a/Runtime/Game/Requests/NotificationRequests.cs b/Runtime/Game/Requests/NotificationRequests.cs
index 2e427d16..f08ad7fa 100644
--- a/Runtime/Game/Requests/NotificationRequests.cs
+++ b/Runtime/Game/Requests/NotificationRequests.cs
@@ -150,6 +150,7 @@ namespace LootLocker.Requests
//==================================================
///
+ /// A key-value pair providing additional context for a notification.
///
public class LootLockerNotificationContextEntry
{
@@ -164,6 +165,7 @@ public class LootLockerNotificationContextEntry
};
///
+ /// A currency reward attached to a notification.
///
public class LootLockerNotificationRewardCurrency
{
@@ -194,6 +196,7 @@ public class LootLockerNotificationRewardCurrency
}
///
+ /// Details about the currency included in a notification reward.
///
public class LootLockerNotificationRewardCurrencyDetails
{
@@ -216,6 +219,7 @@ public class LootLockerNotificationRewardCurrencyDetails
}
///
+ /// A progression points reward attached to a notification.
///
public class LootLockerNotificationRewardProgression
{
@@ -246,6 +250,7 @@ public class LootLockerNotificationRewardProgression
}
///
+ /// Details about the progression included in a notification reward.
///
public class LootLockerNotificationRewardProgressionDetails
{
@@ -268,6 +273,7 @@ public class LootLockerNotificationRewardProgressionDetails
}
///
+ /// A progression reset reward attached to a notification.
///
public class LootLockerNotificationRewardProgressionReset
{
@@ -294,6 +300,7 @@ public class LootLockerNotificationRewardProgressionReset
}
///
+ /// Details about the progression reset included in a notification reward.
///
public class LootLockerNotificationRewardProgressionResetDetails
{
@@ -312,6 +319,7 @@ public class LootLockerNotificationRewardProgressionResetDetails
}
///
+ /// An asset reward attached to a notification.
///
public class LootLockerNotificationRewardAsset
{
@@ -350,6 +358,7 @@ public class LootLockerNotificationRewardAsset
}
///
+ /// Details about the asset included in a notification reward.
///
public class LootLockerNotificationRewardAssetDetails
{
@@ -388,6 +397,7 @@ public class LootLockerNotificationRewardAssetDetails
}
///
+ /// A group reward attached to a notification, containing multiple reward associations.
///
public class LootLockerNotificationRewardGroup
{
@@ -418,6 +428,7 @@ public class LootLockerNotificationRewardGroup
}
///
+ /// An individual reward association within a notification group reward.
///
public class LootLockerNotificationGroupRewardAssociations
{
@@ -449,6 +460,7 @@ public class LootLockerNotificationGroupRewardAssociations
}
///
+ /// The reward body of a notification. Use the field to determine which reward field is populated.
///
public class LootLockerNotificationContentRewardBody
{
@@ -480,6 +492,7 @@ public class LootLockerNotificationContentRewardBody
};
///
+ /// The content of a notification, including context key-value pairs and the reward body.
///
public class LootLockerNotificationContent
{
@@ -691,6 +704,7 @@ public bool TryGetContentBodyAsTypeArray(out T[] output)
};
///
+ /// A single notification for the player, including type, source, priority, content, and read status.
///
public class LootLockerNotification
{
@@ -753,6 +767,7 @@ public void MarkThisNotificationAsRead(Action
+ /// Request to mark one or more notifications as read.
///
public class LootLockerReadNotificationsRequest
{
@@ -767,6 +782,7 @@ public class LootLockerReadNotificationsRequest
//==================================================
///
+ /// Response containing a paginated list of notifications for the player.
///
public class LootLockerListNotificationsResponse : LootLockerResponse
{
@@ -955,6 +971,7 @@ public void PopulateConvenienceStructures()
private readonly List UnreadNotifications = new List();
///
+ /// Internal lookup entry mapping an identifying key to a notification's index and ID.
///
private struct LootLockerNotificationLookupTableEntry
{
@@ -966,6 +983,7 @@ private struct LootLockerNotificationLookupTableEntry
};
///
+ /// Response returned after marking notifications as read.
///
public class LootLockerReadNotificationsResponse : LootLockerResponse
{
diff --git a/Runtime/Game/Requests/PlayerRequest.cs b/Runtime/Game/Requests/PlayerRequest.cs
index ea6fd5a7..22783a44 100644
--- a/Runtime/Game/Requests/PlayerRequest.cs
+++ b/Runtime/Game/Requests/PlayerRequest.cs
@@ -12,43 +12,76 @@ namespace LootLocker.Requests
// Data Definitions
//==================================================
+ ///
+ /// First-party platform identifiers (Steam, Xbox, PSN) linked to a player's account.
+ ///
public class PlatformIDs
{
+ /// The player's Steam id, or null if not linked.
public ulong? steam_id { get; set; }
+ /// The player's Xbox id, or null if not linked.
public string xbox_id { get; set; }
+ /// The player's PSN id, or null if not linked.
public ulong? psn_id { get; set; }
}
+ ///
+ /// Player information combined with all linked first-party platform identifiers.
+ ///
public class PlayerWith1stPartyPlatformIDs
{
+ /// The legacy integer id of the player.
public uint player_id { get; set; }
+ /// The public UID of the player.
public string player_public_uid { get; set; }
+ /// The display name of the player.
public string name { get; set; }
+ /// The platform the player was last active on.
public string last_active_platform { get; set; }
+ /// The first-party platform identifiers linked to this player.
public PlatformIDs platform_ids { get; set; }
}
+ ///
+ /// Player name and various identifier forms used for player lookup operations.
+ ///
public class PlayerNameWithIDs
{
+ /// The legacy integer id of the player.
public uint player_id { get; set; }
+ /// The public UID of the player.
public string player_public_uid { get; set; }
+ /// The ULID of the player.
public string ulid { get; set; }
+ /// The display name of the player.
public string name { get; set; }
+ /// The platform the player was last active on.
public string last_active_platform { get; set; }
+ /// The platform-specific player identifier on the last active platform.
public string platform_player_id { get; set; }
}
+ ///
+ /// A deactivated asset and its replacement, used to notify the player that an asset they own has been retired.
+ ///
[Serializable]
public class LootLockerDeactivatedObjects
{
+ /// The id of the asset that was deactivated.
public int deactivated_asset_id { get; set; }
+ /// The id of the replacement asset, if one is available.
public int replacement_asset_id { get; set; }
+ /// The reason the asset was deactivated.
public string reason { get; set; }
}
+ ///
+ /// A helper class used internally to represent an asset class name.
+ ///
[Serializable]
public class LootLockerAssetClass
{
+ /// The asset class name.
public string Asset { get; set; }
}
@@ -91,11 +124,18 @@ public class LootLockerSimpleInventoryItem
public LootLockerMetadataEntry[] metadata { get; set; }
}
+ ///
+ /// A reward object linking an inventory instance to the underlying asset details.
+ ///
public class LootLockerRewardObject
{
+ /// The inventory instance id of the reward item.
public int instance_id { get; set; }
+ /// The variation id of the reward item, or null for the default variation.
public int? variation_id { get; set; }
+ /// The source through which this reward was acquired.
public string acquisition_source { get; set; }
+ /// Full asset details for the reward item.
public LootLockerCommonAsset asset { get; set; }
}
@@ -133,12 +173,19 @@ public class LootLockerPlayerInfo
//==================================================
// Request Definitions
//==================================================
+ ///
+ /// Request to set or update the name of the current player.
+ ///
[Serializable]
public class PlayerNameRequest
{
+ /// The new name to assign to the player.
public string name { get; set; }
}
+ ///
+ /// Request to look up the first-party platform ids for multiple players identified by their legacy ids or public UIDs.
+ ///
public class LookupPlayer1stPartyPlatformIDsRequest
{
public ulong[] player_ids { get; set; }
@@ -152,6 +199,7 @@ public LookupPlayer1stPartyPlatformIDsRequest()
}
///
+ /// Request to look up basic info for multiple players identified by their ULID, legacy id, or public UID.
///
public class LootLockerListPlayerInfoRequest
{
@@ -228,44 +276,71 @@ public class LootLockerListSimplifiedInventoryRequest
//==================================================
// Response Definitions
//==================================================
+ ///
+ /// A base response type for operations that return no payload beyond success or error state.
+ ///
[Serializable]
public class LootLockerStandardResponse : LootLockerResponse
{
}
+ ///
+ /// Response containing a list of players and their linked first-party platform identifiers.
+ ///
[Serializable]
public class Player1stPartyPlatformIDsLookupResponse : LootLockerResponse
{
+ /// The list of players with their first-party platform ids.
public PlayerWith1stPartyPlatformIDs[] players { get; set; }
}
+ ///
+ /// Response containing a list of players with their names and various identifier forms.
+ ///
[Serializable]
public class PlayerNameLookupResponse : LootLockerResponse
{
+ /// The list of matched players with their names and identifiers.
public PlayerNameWithIDs[] players { get; set; }
}
+ ///
+ /// Response containing the current player's display name.
+ ///
[Serializable]
public class PlayerNameResponse : LootLockerResponse
{
+ /// The current display name of the player.
public string name { get; set; }
}
+ ///
+ /// Response containing the list of DLC package identifiers owned by the current player.
+ ///
[Serializable]
public class LootLockerDlcResponse : LootLockerResponse
{
+ /// The list of DLC identifiers owned by the player.
public string[] dlcs { get; set; }
}
+ ///
+ /// Response containing assets that have been deactivated and their replacements, if any.
+ ///
[Serializable]
public class LootLockerDeactivatedAssetsResponse : LootLockerResponse
{
+ /// The list of deactivated asset entries.
public LootLockerDeactivatedObjects[] objects { get; set; }
}
+ ///
+ /// Response containing the current player's currency balance.
+ ///
[Serializable]
public class LootLockerBalanceResponse : LootLockerResponse
{
+ /// The player's current currency balance, or null if unavailable.
public int? balance { get; set; }
}
@@ -285,17 +360,29 @@ public class LootLockerSimpleInventoryResponse : LootLockerResponse
public LootLockerExtendedPagination pagination { get; set; }
}
+ ///
+ /// Response containing a list of files attached to the player's account.
+ ///
public class LootLockerPlayerFilesResponse : LootLockerResponse
{
+ /// The list of player files.
public LootLockerPlayerFile[] items { get; set; }
}
+ ///
+ /// A file stored on a player's account, with download URL, metadata, and expiration information.
+ ///
public class LootLockerPlayerFile : LootLockerResponse
{
+ /// The unique identifier of this player file.
public int id { get; set; }
+ /// The revision id for this file version.
public string revision_id { get; set; }
+ /// The file name.
public string name { get; set; }
+ /// The file size in bytes.
public int size { get; set; }
+ /// The purpose or category tag for this file.
public string purpose { get; set; }
#if LOOTLOCKER_USE_NEWTONSOFTJSON
@@ -303,18 +390,27 @@ public class LootLockerPlayerFile : LootLockerResponse
#else
[Json(Name = "public")]
#endif
+ /// Whether this file is publicly accessible.
public bool is_public { get; set; }
+ /// The signed URL to download this file.
public string url { get; set; }
+ /// When the signed URL expires.
public DateTime url_expires_at { get; set; }
+ /// When this file was created.
public DateTime created_at { get; set; }
}
+ ///
+ /// Response containing asset reward notifications for the current player.
+ ///
public class LootLockerPlayerAssetNotificationsResponse : LootLockerResponse
{
+ /// The list of asset reward objects the player has been notified about.
public LootLockerRewardObject[] objects { get; set; }
}
///
+ /// Response containing key information about the currently logged-in player.
///
public class LootLockerGetCurrentPlayerInfoResponse : LootLockerResponse
{
@@ -325,6 +421,7 @@ public class LootLockerGetCurrentPlayerInfoResponse : LootLockerResponse
}
///
+ /// Response containing key information about one or more looked-up players.
///
public class LootLockerListPlayerInfoResponse : LootLockerResponse
{
diff --git a/Runtime/Game/Requests/ProgressionsRequest.cs b/Runtime/Game/Requests/ProgressionsRequest.cs
index 5754c3d4..f3e6a7f5 100644
--- a/Runtime/Game/Requests/ProgressionsRequest.cs
+++ b/Runtime/Game/Requests/ProgressionsRequest.cs
@@ -3,200 +3,372 @@
namespace LootLocker.Requests
{
+ ///
+ /// Response containing details about a single progression definition.
+ ///
public class LootLockerProgressionResponse : LootLockerResponse
{
+ /// The unique identifier of the progression.
public string id { get; set; }
+ /// The key used to identify this progression in the API.
public string key { get; set; }
+ /// The human-readable name of the progression.
public string name { get; set; }
+ /// Whether this progression is currently active.
public bool active { get; set; }
}
+ ///
+ /// Response containing a paginated list of progression definitions.
+ ///
public class LootLockerPaginatedProgressionsResponse : LootLockerResponse
{
+ /// Pagination data for iterating through the full list.
public LootLockerPaginationResponse pagination { get; set; }
+ /// The list of progression definitions returned by this page.
public List items { get; set; }
-
+
+ ///
+ /// A single progression definition within a paginated progressions list.
+ ///
public class LootLockerProgression
{
+ /// The unique identifier of the progression.
public string id { get; set; }
+ /// The key used to identify this progression in the API.
public string key { get; set; }
+ /// The human-readable name of the progression.
public string name { get; set; }
+ /// Whether this progression is currently active.
public bool active { get; set; }
}
}
+ ///
+ /// Response containing the current progression status for a player on a specific progression.
+ ///
public class LootLockerPlayerProgressionResponse : LootLockerResponse
{
+ /// The unique identifier of this player progression record.
public string id { get; set; }
+ /// The key of the progression this record belongs to.
public string progression_key { get; set; }
+ /// The id of the progression this record belongs to.
public string progression_id { get; set; }
+ /// The name of the progression this record belongs to.
public string progression_name { get; set; }
+ /// The current level (step) the player has reached in this progression.
public ulong step { get; set; }
+ /// The total number of points accumulated in this progression.
public ulong points { get; set; }
+ /// The points threshold for the current level.
public ulong previous_threshold { get; set; }
+ /// The points threshold for the next level, or null if the player is at the maximum level.
public ulong? next_threshold { get; set; }
+ /// When the player last levelled up in this progression, or null if they have never levelled up.
public DateTime? last_level_up { get; set; }
}
+ ///
+ /// Response containing a paginated list of a player's progression statuses across multiple progressions.
+ ///
public class LootLockerPaginatedPlayerProgressionsResponse : LootLockerResponse
{
+ /// Pagination data for iterating through the full list.
public LootLockerPaginationResponse pagination { get; set; }
+ /// The list of player progression statuses returned by this page.
public List items { get; set; }
-
+
+ ///
+ /// A single player progression status within a paginated player progressions list.
+ ///
public class LootLockerPlayerProgression
{
+ /// The unique identifier of this player progression record.
public string id { get; set; }
+ /// The key of the progression this record belongs to.
public string progression_key { get; set; }
+ /// The id of the progression this record belongs to.
public string progression_id { get; set; }
+ /// The name of the progression this record belongs to.
public string progression_name { get; set; }
+ /// The current level (step) the player has reached in this progression.
public ulong step { get; set; }
+ /// The total number of points accumulated in this progression.
public ulong points { get; set; }
+ /// The points threshold for the current level.
public ulong previous_threshold { get; set; }
+ /// The points threshold for the next level, or null if the player is at the maximum level.
public ulong? next_threshold { get; set; }
+ /// When the player last levelled up in this progression, or null if they have never levelled up.
public DateTime? last_level_up { get; set; }
}
}
+ ///
+ /// Response containing the updated player progression status along with any tiers awarded as a result of the points change.
+ ///
public class LootLockerPlayerProgressionWithRewardsResponse : LootLockerPlayerProgressionResponse
{
+ /// List of progression tiers awarded to the player as a result of the points change.
public List awarded_tiers { get; set; }
}
+ ///
+ /// Response containing the current progression status for a character on a specific progression.
+ ///
public class LootLockerCharacterProgressionResponse : LootLockerResponse
{
+ /// The unique identifier of this character progression record.
public string id { get; set; }
+ /// The key of the progression this record belongs to.
public string progression_key { get; set; }
+ /// The id of the progression this record belongs to.
public string progression_id { get; set; }
+ /// The name of the progression this record belongs to.
public string progression_name { get; set; }
+ /// The current level (step) the character has reached in this progression.
public ulong step { get; set; }
+ /// The total number of points accumulated in this progression.
public ulong points { get; set; }
+ /// The points threshold for the current level.
public ulong previous_threshold { get; set; }
+ /// The points threshold for the next level, or null if the character is at the maximum level.
public ulong? next_threshold { get; set; }
+ /// When the character last levelled up in this progression, or null if they have never levelled up.
public DateTime? last_level_up { get; set; }
}
+ ///
+ /// Response containing a paginated list of a character's progression statuses across multiple progressions.
+ ///
public class LootLockerPaginatedCharacterProgressionsResponse : LootLockerResponse
{
+ /// Pagination data for iterating through the full list.
public LootLockerPaginationResponse pagination { get; set; }
public List items { get; set; }
-
+
+ ///
+ /// A single character progression status within a paginated character progressions list.
+ ///
public class LootLockerCharacterProgression
{
+ /// The unique identifier of this character progression record.
public string id { get; set; }
+ /// The key of the progression this record belongs to.
public string progression_key { get; set; }
+ /// The id of the progression this record belongs to.
public string progression_id { get; set; }
+ /// The name of the progression this record belongs to.
public string progression_name { get; set; }
+ /// The current level (step) the character has reached in this progression.
public ulong step { get; set; }
+ /// The total number of points accumulated in this progression.
public ulong points { get; set; }
+ /// The points threshold for the current level.
public ulong previous_threshold { get; set; }
+ /// The points threshold for the next level, or null if the character is at the maximum level.
public ulong? next_threshold { get; set; }
+ /// When the character last levelled up in this progression, or null if they have never levelled up.
public DateTime? last_level_up { get; set; }
}
}
+ ///
+ /// Response containing the updated character progression status along with any tiers awarded as a result of the points change.
+ ///
public class LootLockerCharacterProgressionWithRewardsResponse : LootLockerCharacterProgressionResponse
{
+ /// List of progression tiers awarded to the character as a result of the points change.
public List awarded_tiers { get; set; }
}
+ ///
+ /// Response containing the current progression status for an asset instance on a specific progression.
+ ///
public class LootLockerAssetInstanceProgressionResponse : LootLockerResponse
{
+ /// The unique identifier of this asset instance progression record.
public string id { get; set; }
+ /// The key of the progression this record belongs to.
public string progression_key { get; set; }
+ /// The id of the progression this record belongs to.
public string progression_id { get; set; }
+ /// The name of the progression this record belongs to.
public string progression_name { get; set; }
+ /// The current level (step) the asset instance has reached in this progression.
public ulong step { get; set; }
+ /// The total number of points accumulated in this progression.
public ulong points { get; set; }
+ /// The points threshold for the current level.
public ulong previous_threshold { get; set; }
+ /// The points threshold for the next level, or null if the asset instance is at the maximum level.
public ulong? next_threshold { get; set; }
+ /// When the asset instance last levelled up in this progression, or null if it has never levelled up.
public DateTime? last_level_up { get; set; }
}
+ ///
+ /// Response containing a paginated list of an asset instance's progression statuses across multiple progressions.
+ ///
public class LootLockerPaginatedAssetInstanceProgressionsResponse : LootLockerResponse
{
+ /// Pagination data for iterating through the full list.
public LootLockerPaginationResponse pagination { get; set; }
+ /// The list of asset instance progression statuses returned by this page.
public List items { get; set; }
+ ///
+ /// A single asset instance progression status within a paginated asset instance progressions list.
+ ///
public class LootLockerAssetInstanceProgression
{
+ /// The unique identifier of this asset instance progression record.
public string id { get; set; }
+ /// The key of the progression this record belongs to.
public string progression_key { get; set; }
+ /// The id of the progression this record belongs to.
public string progression_id { get; set; }
+ /// The name of the progression this record belongs to.
public string progression_name { get; set; }
+ /// The current level (step) the asset instance has reached in this progression.
public ulong step { get; set; }
+ /// The total number of points accumulated in this progression.
public ulong points { get; set; }
+ /// The points threshold for the current level.
public ulong previous_threshold { get; set; }
+ /// The points threshold for the next level, or null if the asset instance is at the maximum level.
public ulong? next_threshold { get; set; }
+ /// When the asset instance last levelled up in this progression, or null if it has never levelled up.
public DateTime? last_level_up { get; set; }
}
}
+ ///
+ /// Response containing the updated asset instance progression status along with any tiers awarded as a result of the points change.
+ ///
public class LootLockerAssetInstanceProgressionWithRewardsResponse : LootLockerAssetInstanceProgressionResponse
{
+ /// List of progression tiers awarded to the asset instance as a result of the points change.
public List awarded_tiers { get; set; }
}
+ ///
+ /// A progression tier that was awarded to a player, character, or asset instance as a result of earning enough points.
+ ///
public class LootLockerAwardedTier
{
+ /// The level number (step) of the tier that was awarded.
public ulong step { get; set; }
+ /// The cumulative points threshold required to reach this tier.
public ulong points_threshold { get; set; }
+ /// The rewards granted when this tier was unlocked.
public LootLockerRewards rewards { get; set; }
}
+ ///
+ /// An asset reward attached to a progression tier, describing which asset (and optionally which variation or rental option) is granted.
+ ///
public class LootLockerAssetReward
{
+ /// The id of the asset to grant.
public int asset_id { get; set; }
+ /// The id of the asset variation to grant, or null for the default variation.
public int? asset_variation_id { get; set; }
+ /// The id of the rental option to grant, or null if the asset is not rented.
public int? asset_rental_option_id { get; set; }
}
+ ///
+ /// A progression points reward attached to a progression tier, describing how many points are added to another progression when this tier is unlocked.
+ ///
public class LootLockerProgressionPointsReward
{
+ /// The id of the progression to which points will be added.
public string progression_id { get; set; }
+ /// The key of the progression to which points will be added.
public string progression_key { get; set; }
+ /// The name of the progression to which points will be added.
public string progression_name { get; set; }
+ /// The number of points to add to the target progression.
public ulong amount { get; set; }
}
+ ///
+ /// A progression reset reward attached to a progression tier, causing another progression to be reset when this tier is unlocked.
+ ///
public class LootLockerProgressionResetReward
{
+ /// The id of the progression that will be reset.
public string progression_id { get; set; }
+ /// The key of the progression that will be reset.
public string progression_key { get; set; }
+ /// The name of the progression that will be reset.
public string progression_name { get; set; }
}
+ ///
+ /// A currency reward attached to a progression tier, describing how much of a given currency is granted when this tier is unlocked.
+ ///
public class LootLockerCurrencyReward
{
+ /// The human-readable name of the currency.
public string currency_name { get; set; }
+ /// The short code used to identify the currency.
public string currency_code { get; set; }
+ /// The amount of currency to grant, as a string to preserve precision.
public string amount { get; set; }
}
+ ///
+ /// The full set of rewards attached to a progression tier, across all reward types.
+ ///
public class LootLockerRewards
{
+ /// Rewards that grant points to another progression.
public List progression_points_rewards { get; set; }
+ /// Rewards that reset another progression.
public List progression_reset_rewards { get; set; }
+ /// Rewards that grant an asset to the player's inventory.
public List asset_rewards { get; set; }
+ /// Rewards that grant an amount of currency to the player.
public List currency_rewards { get; set; }
}
+ ///
+ /// Response containing a paginated list of tiers for a specific progression.
+ ///
public class LootLockerPaginatedProgressionTiersResponse : LootLockerResponse
{
+ /// Pagination data for iterating through the full list.
public LootLockerPaginationResponse pagination { get; set; }
+ /// The list of progression tiers returned by this page.
public List items { get; set; }
+ ///
+ /// A single tier definition within a paginated progression tiers list.
+ ///
public class LootLockerProgressionTier
{
+ /// The level number (step) of this tier.
public ulong step { get; set; }
+ /// The cumulative points threshold required to reach this tier.
public ulong points_threshold { get; set; }
+ /// The rewards granted when this tier is unlocked.
public LootLockerRewards rewards { get; set; }
}
}
+ ///
+ /// Response containing details about a single progression tier.
+ ///
public class LootLockerProgressionTierResponse : LootLockerResponse
{
+ /// The level number (step) of this tier.
public ulong step { get; set; }
+ /// The cumulative points threshold required to reach this tier.
public ulong points_threshold { get; set; }
+ /// The rewards granted when this tier is unlocked.
public LootLockerRewards rewards { get; set; }
}
}
\ No newline at end of file
diff --git a/Runtime/Game/Requests/RemoteSessionRequest.cs b/Runtime/Game/Requests/RemoteSessionRequest.cs
index bfd243e7..ced41f2d 100644
--- a/Runtime/Game/Requests/RemoteSessionRequest.cs
+++ b/Runtime/Game/Requests/RemoteSessionRequest.cs
@@ -40,6 +40,7 @@ namespace LootLocker.Requests
//==================================================
///
+ /// Request to initiate a remote session lease process.
///
public class LootLockerLeaseRemoteSessionRequest
{
@@ -65,6 +66,7 @@ public LootLockerLeaseRemoteSessionRequest(string titleId, string environmentId)
}
///
+ /// Request to start an authorized remote session using the lease code from a completed lease process.
///
public class LootLockerStartRemoteSessionRequest
{
@@ -87,6 +89,7 @@ public class LootLockerStartRemoteSessionRequest
}
///
+ /// Request to refresh an existing remote session using a refresh token.
///
public class LootLockerRefreshRemoteSessionRequest : LootLockerGetRequest
{
@@ -114,6 +117,7 @@ public LootLockerRefreshRemoteSessionRequest(string refreshToken)
//==================================================
///
+ /// Response containing the lease code and redirect URL for a newly created remote session lease.
///
public class LootLockerLeaseRemoteSessionResponse : LootLockerResponse
{
@@ -144,6 +148,7 @@ public class LootLockerLeaseRemoteSessionResponse : LootLockerResponse
}
///
+ /// Response from polling the status of an ongoing remote session lease process.
///
public class LootLockerRemoteSessionStatusPollingResponse : LootLockerResponse
{
@@ -154,6 +159,7 @@ public class LootLockerRemoteSessionStatusPollingResponse : LootLockerResponse
}
///
+ /// Response returned when a remote session is successfully started after an authorized lease.
///
public class LootLockerStartRemoteSessionResponse : LootLockerSessionResponse
{
@@ -172,6 +178,7 @@ public class LootLockerStartRemoteSessionResponse : LootLockerSessionResponse
}
///
+ /// Response returned after refreshing a remote session with a refresh token.
///
public class LootLockerRefreshRemoteSessionResponse : LootLockerSessionResponse
{
diff --git a/Runtime/Game/Requests/TriggersRequests.cs b/Runtime/Game/Requests/TriggersRequests.cs
index 60589d23..f72a1510 100644
--- a/Runtime/Game/Requests/TriggersRequests.cs
+++ b/Runtime/Game/Requests/TriggersRequests.cs
@@ -21,6 +21,7 @@ namespace LootLocker.Requests
//==================================================
///
+ /// A trigger key that was successfully invoked.
///
public class LootLockerSuccessfulKey
{
@@ -31,6 +32,7 @@ public class LootLockerSuccessfulKey
};
///
+ /// A trigger key that failed to invoke, including the reason for failure.
///
public class LootLockerFailedKey
{
@@ -49,6 +51,7 @@ public class LootLockerFailedKey
//==================================================
///
+ /// Request to invoke one or more triggers by their keys.
///
public class LootLockerInvokeTriggersByKeyRequest
{