You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
CrowdControl/Assets/PlayFabSDK/Matchmaker/PlayFabMatchmakerModels.cs

230 lines
8.8 KiB
C#

#if ENABLE_PLAYFABSERVER_API
using System;
using System.Collections.Generic;
using PlayFab.SharedModels;
namespace PlayFab.MatchmakerModels
{
/// <summary>
/// This API allows the external match-making service to confirm that the user has a valid Session Ticket for the title, in
/// order to securely enable match-making. The client passes the user's Session Ticket to the external match-making service,
/// which then passes the Session Ticket in as the AuthorizationTicket in this call.
/// </summary>
[Serializable]
public class AuthUserRequest : PlayFabRequestCommon
{
/// <summary>
/// Session Ticket provided by the client.
/// </summary>
public string AuthorizationTicket;
}
[Serializable]
public class AuthUserResponse : PlayFabResultCommon
{
/// <summary>
/// Boolean indicating if the user has been authorized to use the external match-making service.
/// </summary>
public bool Authorized;
/// <summary>
/// PlayFab unique identifier of the account that has been authorized.
/// </summary>
public string PlayFabId;
}
/// <summary>
/// A unique instance of an item in a user's inventory. Note, to retrieve additional information for an item such as Tags,
/// Description that are the same across all instances of the item, a call to GetCatalogItems is required. The ItemID of can
/// be matched to a catalog entry, which contains the additional information. Also note that Custom Data is only set when
/// the User's specific instance has updated the CustomData via a call to UpdateUserInventoryItemCustomData. Other fields
/// such as UnitPrice and UnitCurrency are only set when the item was granted via a purchase.
/// </summary>
[Serializable]
public class ItemInstance : PlayFabBaseModel
{
/// <summary>
/// Game specific comment associated with this instance when it was added to the user inventory.
/// </summary>
public string Annotation;
/// <summary>
/// Array of unique items that were awarded when this catalog item was purchased.
/// </summary>
public List<string> BundleContents;
/// <summary>
/// Unique identifier for the parent inventory item, as defined in the catalog, for object which were added from a bundle or
/// container.
/// </summary>
public string BundleParent;
/// <summary>
/// Catalog version for the inventory item, when this instance was created.
/// </summary>
public string CatalogVersion;
/// <summary>
/// A set of custom key-value pairs on the instance of the inventory item, which is not to be confused with the catalog
/// item's custom data.
/// </summary>
public Dictionary<string,string> CustomData;
/// <summary>
/// CatalogItem.DisplayName at the time this item was purchased.
/// </summary>
public string DisplayName;
/// <summary>
/// Timestamp for when this instance will expire.
/// </summary>
public DateTime? Expiration;
/// <summary>
/// Class name for the inventory item, as defined in the catalog.
/// </summary>
public string ItemClass;
/// <summary>
/// Unique identifier for the inventory item, as defined in the catalog.
/// </summary>
public string ItemId;
/// <summary>
/// Unique item identifier for this specific instance of the item.
/// </summary>
public string ItemInstanceId;
/// <summary>
/// Timestamp for when this instance was purchased.
/// </summary>
public DateTime? PurchaseDate;
/// <summary>
/// Total number of remaining uses, if this is a consumable item.
/// </summary>
public int? RemainingUses;
/// <summary>
/// Currency type for the cost of the catalog item. Not available when granting items.
/// </summary>
public string UnitCurrency;
/// <summary>
/// Cost of the catalog item in the given currency. Not available when granting items.
/// </summary>
public uint UnitPrice;
/// <summary>
/// The number of uses that were added or removed to this item in this call.
/// </summary>
public int? UsesIncrementedBy;
}
[Serializable]
public class PlayerJoinedRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// Unique identifier of the Game Server Instance the user is joining. This must be a Game Server Instance started with the
/// Matchmaker/StartGame API.
/// </summary>
public string LobbyId;
/// <summary>
/// PlayFab unique identifier for the player joining.
/// </summary>
public string PlayFabId;
}
[Serializable]
public class PlayerJoinedResponse : PlayFabResultCommon
{
}
[Serializable]
public class PlayerLeftRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// Unique identifier of the Game Server Instance the user is leaving. This must be a Game Server Instance started with the
/// Matchmaker/StartGame API.
/// </summary>
public string LobbyId;
/// <summary>
/// PlayFab unique identifier for the player leaving.
/// </summary>
public string PlayFabId;
}
[Serializable]
public class PlayerLeftResponse : PlayFabResultCommon
{
}
[Serializable]
public class UserInfoRequest : PlayFabRequestCommon
{
/// <summary>
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
/// </summary>
public Dictionary<string,string> CustomTags;
/// <summary>
/// Minimum catalog version for which data is requested (filters the results to only contain inventory items which have a
/// catalog version of this or higher).
/// </summary>
public int MinCatalogVersion;
/// <summary>
/// PlayFab unique identifier of the user whose information is being requested.
/// </summary>
public string PlayFabId;
}
[Serializable]
public class UserInfoResponse : PlayFabResultCommon
{
/// <summary>
/// Array of inventory items in the user's current inventory.
/// </summary>
public List<ItemInstance> Inventory;
/// <summary>
/// Boolean indicating whether the user is a developer.
/// </summary>
public bool IsDeveloper;
/// <summary>
/// PlayFab unique identifier of the user whose information was requested.
/// </summary>
public string PlayFabId;
/// <summary>
/// Steam unique identifier, if the user has an associated Steam account.
/// </summary>
public string SteamId;
/// <summary>
/// Title specific display name, if set.
/// </summary>
public string TitleDisplayName;
/// <summary>
/// PlayFab unique user name.
/// </summary>
public string Username;
/// <summary>
/// Array of virtual currency balance(s) belonging to the user.
/// </summary>
public Dictionary<string,int> VirtualCurrency;
/// <summary>
/// Array of remaining times and timestamps for virtual currencies.
/// </summary>
public Dictionary<string,VirtualCurrencyRechargeTime> VirtualCurrencyRechargeTimes;
}
[Serializable]
public class VirtualCurrencyRechargeTime : PlayFabBaseModel
{
/// <summary>
/// Maximum value to which the regenerating currency will automatically increment. Note that it can exceed this value
/// through use of the AddUserVirtualCurrency API call. However, it will not regenerate automatically until it has fallen
/// below this value.
/// </summary>
public int RechargeMax;
/// <summary>
/// Server timestamp in UTC indicating the next time the virtual currency will be incremented.
/// </summary>
public DateTime RechargeTime;
/// <summary>
/// Time remaining (in seconds) before the next recharge increment of the virtual currency.
/// </summary>
public int SecondsToRecharge;
}
}
#endif