You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
3.1 KiB
103 lines
3.1 KiB
using System; |
|
using System.Collections.Generic; |
|
|
|
using UnityEngine; |
|
using UnityEngine.UI; |
|
|
|
using BestHTTP.Examples.Helpers; |
|
|
|
namespace BestHTTP.Examples |
|
{ |
|
public class SampleRoot : MonoBehaviour |
|
{ |
|
#pragma warning disable 0649, 0169 |
|
[Header("Common Properties")] |
|
public string BaseURL = "https://besthttpwebgldemo.azurewebsites.net"; |
|
|
|
[Header("References")] |
|
|
|
[SerializeField] |
|
private Text _pluginVersion; |
|
|
|
[SerializeField] |
|
private Dropdown _logLevelDropdown; |
|
|
|
[SerializeField] |
|
private Text _proxyLabel; |
|
|
|
[SerializeField] |
|
private InputField _proxyInputField; |
|
|
|
#pragma warning restore |
|
|
|
[SerializeField] |
|
public List<SampleBase> samples = new List<SampleBase>(); |
|
|
|
[HideInInspector] |
|
public SampleBase selectedExamplePrefab; |
|
|
|
private void Start() |
|
{ |
|
Application.runInBackground = true; |
|
|
|
this._pluginVersion.text = "Version: " + HTTPManager.UserAgent; |
|
|
|
int logLevel = PlayerPrefs.GetInt("BestHTTP.HTTPManager.Logger.Level", (int)HTTPManager.Logger.Level); |
|
this._logLevelDropdown.value = logLevel; |
|
HTTPManager.Logger.Level = (BestHTTP.Logger.Loglevels)logLevel; |
|
|
|
#if (UNITY_WEBGL && !UNITY_EDITOR) || BESTHTTP_DISABLE_PROXY |
|
this._proxyLabel.gameObject.SetActive(false); |
|
this._proxyInputField.gameObject.SetActive(false); |
|
#else |
|
string proxyURL = PlayerPrefs.GetString("BestHTTP.HTTPManager.Proxy", null); |
|
if (!string.IsNullOrEmpty(proxyURL)) |
|
{ |
|
try |
|
{ |
|
HTTPManager.Proxy = new HTTPProxy(new Uri(proxyURL), null, true); |
|
#if UNITY_2019_1_OR_NEWER |
|
this._proxyInputField.SetTextWithoutNotify(proxyURL); |
|
#else |
|
this._proxyInputField.onEndEdit.RemoveAllListeners(); |
|
this._proxyInputField.text = proxyURL; |
|
this._proxyInputField.onEndEdit.AddListener(this.OnProxyEditEnd); |
|
#endif |
|
} |
|
catch |
|
{ } |
|
} |
|
else |
|
HTTPManager.Proxy = null; |
|
#endif |
|
|
|
#if !BESTHTTP_DISABLE_CACHING |
|
// Remove too old cache entries. |
|
BestHTTP.Caching.HTTPCacheService.BeginMaintainence(new BestHTTP.Caching.HTTPCacheMaintananceParams(TimeSpan.FromDays(30), ulong.MaxValue)); |
|
#endif |
|
} |
|
|
|
public void OnLogLevelChanged(int idx) |
|
{ |
|
HTTPManager.Logger.Level = (BestHTTP.Logger.Loglevels)idx; |
|
PlayerPrefs.SetInt("BestHTTP.HTTPManager.Logger.Level", idx); |
|
} |
|
|
|
public void OnProxyEditEnd(string proxyURL) |
|
{ |
|
#if (!UNITY_WEBGL || UNITY_EDITOR) && !BESTHTTP_DISABLE_PROXY |
|
try |
|
{ |
|
if (string.IsNullOrEmpty(this._proxyInputField.text)) |
|
HTTPManager.Proxy = null; |
|
else |
|
HTTPManager.Proxy = new HTTPProxy(new Uri(this._proxyInputField.text), null, true); |
|
|
|
PlayerPrefs.SetString("BestHTTP.HTTPManager.Proxy", this._proxyInputField.text); |
|
} |
|
catch |
|
{ } |
|
#endif |
|
} |
|
} |
|
}
|
|
|