//TODO: create RequestPlaylistDiff public void RequestPlaylistDiff <T>(string url, string currentData, Action <List <T>, string> callback) where T : BaseInfo { m_RequestFinished = false; HttpManager.Instance.Request(url, false, data => { List <T> arrayData = null; string newData = null; if (data != null) { newData = Encoding.UTF8.GetString(data); if (newData.Length <= currentData.Length) { callback(null, null); } string stringData = newData.Substring(currentData.Length); string[] splitData = stringData.Split('\n'); arrayData = new List <T>(); for (int i = 0; i < splitData.Length; i++) { if (!string.IsNullOrEmpty(splitData[i])) { T info = InfoConverter.DeserializeFromString <T>(splitData[i]); if (info != null) { arrayData.Add(info); } } } } m_RequestFinished = true; callback(arrayData, newData); }); }
public void RequestInfo <T>(string url, Action <T> callback) where T : BaseInfo { m_RequestFinished = false; HttpManager.Instance.Request(url, false, data => { T info = default(T); if (data != null) { info = InfoConverter.Deserialize <T>(data); } m_RequestFinished = true; callback(info); }); }