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() { Debug.Log("Start GetRequest:" + m_handler.URL); 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; } } } }