2024-03-14 15:56:56 +08:00
|
|
|
using UnityEngine;
|
|
|
|
|
using UnityEngine.Networking;
|
|
|
|
|
using System.Collections;
|
|
|
|
|
|
|
|
|
|
namespace Gameplay.Net
|
|
|
|
|
{
|
|
|
|
|
public interface ACDownloadHanlder
|
|
|
|
|
{
|
|
|
|
|
string URL {get;}
|
|
|
|
|
void OnRequestFinished(UnityWebRequest request);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class AppConfigDownload : MonoBehaviour
|
|
|
|
|
{
|
|
|
|
|
enum LocalStatus
|
|
|
|
|
{
|
|
|
|
|
None = 0,
|
|
|
|
|
Start,
|
|
|
|
|
Wait,
|
|
|
|
|
Done,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ACDownloadHanlder m_handler;
|
|
|
|
|
LocalStatus Status;
|
|
|
|
|
|
|
|
|
|
public void Init(ACDownloadHanlder handler)
|
|
|
|
|
{
|
|
|
|
|
m_handler = handler;
|
|
|
|
|
Status = LocalStatus.Start;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Update()
|
|
|
|
|
{
|
|
|
|
|
if(Status == LocalStatus.Start)
|
|
|
|
|
{
|
|
|
|
|
StartCoroutine(GetRequest());
|
|
|
|
|
Status = LocalStatus.Wait;
|
|
|
|
|
}
|
|
|
|
|
else if(Status == LocalStatus.Done)
|
|
|
|
|
{
|
|
|
|
|
Destroy(gameObject);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
IEnumerator GetRequest()
|
|
|
|
|
{
|
2024-08-08 15:00:37 +08:00
|
|
|
Debug.Log("Start GetRequest:" + m_handler.URL);
|
2024-03-14 15:56:56 +08:00
|
|
|
using (UnityWebRequest webRequest = UnityWebRequest.Get(m_handler.URL))
|
|
|
|
|
{
|
|
|
|
|
// Request and wait for the desired page.
|
|
|
|
|
yield return webRequest.SendWebRequest();
|
|
|
|
|
|
|
|
|
|
m_handler.OnRequestFinished(webRequest);
|
|
|
|
|
|
|
|
|
|
Status = LocalStatus.Done;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|