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/Shared/Public/PlayFabApiSettings.cs

103 lines
5.2 KiB
C#

using System.Collections.Generic;
using System;
namespace PlayFab
{
public class PlayFabApiSettings
{
private string _ProductionEnvironmentUrl = PlayFabSettings.DefaultPlayFabApiUrl;
public readonly Dictionary<string, string> _requestGetParams = new Dictionary<string, string> {
{ "sdk", PlayFabSettings.VersionString }
};
public virtual Dictionary<string, string> RequestGetParams { get { return _requestGetParams; } }
/// <summary> This is only for customers running a private cluster. Generally you shouldn't touch this </summary>
public virtual string ProductionEnvironmentUrl { get { return _ProductionEnvironmentUrl; } set { _ProductionEnvironmentUrl = value; } }
/// <summary> You must set this value for PlayFabSdk to work properly (Found in the Game Manager for your title, at the PlayFab Website) </summary>
public virtual string TitleId { get; set; }
/// <summary> The name of a customer vertical. This is only for customers running a private cluster. Generally you shouldn't touch this </summary>
internal virtual string VerticalName { get; set; }
#if ENABLE_PLAYFABSERVER_API || ENABLE_PLAYFABADMIN_API || UNITY_EDITOR || ENABLE_PLAYFAB_SECRETKEY
/// <summary> You must set this value for PlayFabSdk to work properly (Found in the Game Manager for your title, at the PlayFab Website) </summary>
public virtual string DeveloperSecretKey { get; set; }
#endif
/// <summary> Set this to true to prevent hardware information from leaving the device </summary>
public virtual bool DisableDeviceInfo { get; set; }
/// <summary> Set this to true to prevent focus change information from leaving the device </summary>
public virtual bool DisableFocusTimeCollection { get; set; }
/// <summary> Set to enable Gzip compression on all responses. Defaults to false. </summary>
public virtual bool CompressResponses { get; set; }
/// <summary> Enables the custom Gzip DownloadHandler on all responses. Defaults to true. </summary>
internal virtual bool DecompressWithDownloadHandler { get; set; } = true;
public virtual string GetFullUrl(string apiCall, Dictionary<string, string> getParams)
{
return PlayFabSettings.GetFullUrl(apiCall, getParams, this);
}
}
/// <summary>
/// This is only meant for PlayFabSettings to use as a redirect to store values on PlayFabSharedSettings instead of locally
/// </summary>
internal class PlayFabSettingsRedirect : PlayFabApiSettings
{
private readonly Func<PlayFabSharedSettings> GetSO;
public PlayFabSettingsRedirect(Func<PlayFabSharedSettings> getSO) { GetSO = getSO; }
public override string ProductionEnvironmentUrl
{
get { var so = GetSO(); return so == null ? base.ProductionEnvironmentUrl : so.ProductionEnvironmentUrl; }
set { var so = GetSO(); if (so != null) so.ProductionEnvironmentUrl = value; base.ProductionEnvironmentUrl = value; }
}
internal override string VerticalName
{
get { var so = GetSO(); return so == null ? base.VerticalName : so.VerticalName; }
set { var so = GetSO(); if (so != null) so.VerticalName = value; base.VerticalName = value; }
}
#if ENABLE_PLAYFABSERVER_API || ENABLE_PLAYFABADMIN_API || UNITY_EDITOR || ENABLE_PLAYFAB_SECRETKEY
public override string DeveloperSecretKey
{
get { var so = GetSO(); return so == null ? base.DeveloperSecretKey : so.DeveloperSecretKey; }
set { var so = GetSO(); if (so != null) so.DeveloperSecretKey = value; base.DeveloperSecretKey = value; }
}
#endif
public override string TitleId
{
get { var so = GetSO(); return so == null ? base.TitleId : so.TitleId; }
set { var so = GetSO(); if (so != null) so.TitleId = value; base.TitleId = value; }
}
public override bool DisableDeviceInfo
{
get { var so = GetSO(); return so == null ? base.DisableDeviceInfo : so.DisableDeviceInfo; }
set { var so = GetSO(); if (so != null) so.DisableDeviceInfo = value; base.DisableDeviceInfo = value; }
}
public override bool DisableFocusTimeCollection
{
get { var so = GetSO(); return so == null ? base.DisableFocusTimeCollection : so.DisableFocusTimeCollection; }
set { var so = GetSO(); if (so != null) so.DisableFocusTimeCollection = value; base.DisableFocusTimeCollection = value; }
}
public override bool CompressResponses
{
get { var so = GetSO(); return so == null ? base.CompressResponses : so.CompressResponses; }
set { var so = GetSO(); if (so != null) so.CompressResponses = value; base.CompressResponses = value; }
}
internal override bool DecompressWithDownloadHandler
{
get { var so = GetSO(); return so == null ? base.DecompressWithDownloadHandler : so.DecompressWithDownloadHandler; }
set { var so = GetSO(); if (so != null) so.DecompressWithDownloadHandler = value; base.DecompressWithDownloadHandler = value; }
}
}
}