using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class WWWTest {
private string url;
public string URL
{
set
{
url = value;
}
get
{
return url;
}
}
public virtual void BeginDownLoad()
{
}
public virtual void FinishDownLoad(WWW tepWWW)
{
}
public virtual void ErrorDownLoad()
{
}
public IEnumerator DownLoad()
{
BeginDownLoad();
WWW www = new WWW(URL);
yield return www;
if (string.IsNullOrEmpty(www.error))
{
FinishDownLoad(www);
}
else
{
ErrorDownLoad();
}
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class WWWDownLoad : WWWTest {
public WWWDownLoad(string url)
{
Init(url);
}
public void Init(string url)
{
if (Application.platform == RuntimePlatform.Android)
{
this.URL = "jar:file://" + url;
}
else if (Application.platform == RuntimePlatform.WindowsEditor || Application.platform == RuntimePlatform.WindowsPlayer)
{
this.URL = "file:///" + url;
}
else
{
this.URL = "file://" + url;
}
}
public override void FinishDownLoad(WWW tepWWW)
{
Debug.Log(tepWWW.text);
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DownLoading : MonoBehaviour {
public static DownLoading Instance;
Queue<WWWTest> DownLoadQueue;
private bool IsFinish;
private void Awake()
{
Instance = this;
}
void Start () {
DownLoadQueue = new Queue<WWWTest>();
IsFinish = true;
}
public void AddDownLoad(WWWTest test)
{
DownLoadQueue.Enqueue(test);
if (IsFinish)
{
IsFinish = false;
StartCoroutine(DownLoad());
}
}
public IEnumerator DownLoad()
{
while(DownLoadQueue.Count > 0)
{
WWWTest test = DownLoadQueue.Dequeue();
yield return test.DownLoad();
}
IsFinish = true;
}
void Update () {
if (Input.GetKeyDown(KeyCode.A))
{
string url = Application.dataPath + "/WWW/WWWTest.cs";
WWWDownLoad download1 = new WWWDownLoad(url);
AddDownLoad(download1);
Debug.Log(123);
}
}
}