private IEnumerator DownloadLoginMarket() { Debug.Log("DownloadLoginMarket"); LoginMarketData.dataMap.Clear(); WWW d = new WWW(SystemConfig.GetCfgInfoUrl(SystemConfig.LOGIN_MARKET_URL_KEY)); yield return(d); Debug.Log("DownloadLoginMarket d: " + d.text.Length); var xml = XMLParser.LoadXML(d.text); var map = XMLParser.LoadIntMap(xml, SystemConfig.LOGIN_MARKET_URL_KEY); var type = typeof(LoginMarketData); var props = type.GetProperties(); foreach (var item in map) { var t = new LoginMarketData(); foreach (var prop in props) { if (prop.Name == "id") { prop.SetValue(t, item.Key, null); } else { if (item.Value.ContainsKey(prop.Name)) { var value = Utils.GetValue(item.Value[prop.Name], prop.PropertyType); prop.SetValue(t, value, null); } } } if (!LoginMarketData.dataMap.ContainsKey(item.Key)) { Debug.Log("LoginMarketData new " + item.Key + " version" + t.version); LoginMarketData.dataMap.Add(item.Key, t); } } EventDispatcher.TriggerEvent(Events.OperationEvent.GetLoginMessage); }
private IEnumerator DownloadLoginMarket() { LoggerHelper.Debug("DownloadLoginMarket"); LoginMarketData.dataMap.Clear(); WWW d = new WWW(SystemConfig.GetCfgInfoUrl(SystemConfig.LOGIN_MARKET_URL_KEY)); yield return d; LoggerHelper.Debug("DownloadLoginMarket d: " + d.text.Length); var xml = XMLParser.LoadXML(d.text); var map = XMLParser.LoadIntMap(xml, SystemConfig.LOGIN_MARKET_URL_KEY); var type = typeof(LoginMarketData); var props = type.GetProperties(); foreach (var item in map) { var t = new LoginMarketData(); foreach (var prop in props) { if (prop.Name == "id") { prop.SetValue(t, item.Key, null); } else { if (item.Value.ContainsKey(prop.Name)) { var value = Utils.GetValue(item.Value[prop.Name], prop.PropertyType); prop.SetValue(t, value, null); } } } if (!LoginMarketData.dataMap.ContainsKey(item.Key)) { LoggerHelper.Debug("LoginMarketData new " + item.Key + " version" + t.version); LoginMarketData.dataMap.Add(item.Key, t); } } EventDispatcher.TriggerEvent(Events.OperationEvent.GetLoginMessage); }