封装好的网络请求类
using UnityEngine;
using System.Collections;
/// <summary>
/// 封装的一个网络请求类
/// URL可以在外部获取
/// 获取文本成功后可以在别的类中处理
/// </summary>
/// <param name="text"></param>
//请求后后返回文本,在其他类处理
public delegate void DidReceivedText(string text);
public delegate void DidFailedText(string error);
public class NetWorkKit:MonoBehaviour
{
private static NetWorkKit Instance = null;
public static NetWorkKit GetInstance()
{
if (Instance == null)
{
GameObject obj = new GameObject("NetWorkKit");
Instance = obj.AddComponent<NetWorkKit>();
}
return Instance;
}
private NetWorkKit() { }
//使用get 请求
public void GetRequestText(string Url,DidReceivedText didReceivedText ,DidFailedText DidFailedText)
{
StartCoroutine(RequestText(Url,didReceivedText,DidFailedText,null));
}
//协程URL请求文本
IEnumerator RequestText(string Url, DidReceivedText didReceivedText, DidFailedText DidFailedText,WWWForm form)
{
//请求可以是get和post两种方式
WWW www = null;
if (form== null)
{
www = new WWW(Url);
}
else
{
www = new WWW(Url,form);
}
//等待
while (!www.isDone) {
yield return null;
}
if (www.error == null) {
// 请求成功
if(didReceivedText != null){
didReceivedText(www.text);
}
}
else
{
// 请求失败
if(DidFailedText != null){
DidFailedText(www.error);
}
}
}
}