Beispiel #1
0
        //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);
            });
        }
Beispiel #2
0
        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);
            });
        }