private static void ReadAllCityMaps() { string PicRootDir = @"D:\gamepic\"; string[] files = Directory.GetFiles(PicRootDir + "map"); foreach (string fileName in files) { string strJson = File.ReadAllText(fileName, Encoding.GetEncoding("GB2312")); SerialCity C = JsonConvert.DeserializeObject <SerialCity>(strJson); } }
private void ReadAllCityMaps() { dicCityCode.Clear(); dicCitys.Clear(); string[] files = Directory.GetFiles(PicRootDir + "map"); foreach (string fileName in files) { string strJson = File.ReadAllText(fileName, Encoding.GetEncoding("GB2312")); SerialCity c = JsonConvert.DeserializeObject <SerialCity>(strJson); dicCityCode.Add(c.CityName, c.CityCode); dicCitys.Add(c.CityCode, ToCity(c)); } }
//再做下转换兼容!!! private City ToCity(SerialCity city) { string[] str = city.MapSize.Split(','); List <Entrance> Entrances = new List <Entrance>(); foreach (SerialEntrance item in city.Entrance) { string[] strP = item.PutPosition.Split(','); string[] strPX = strP[0].TrimEnd(')').Split('('); string[] strPY = strP[1].TrimEnd(')').Split('('); string[] xrange = item.XRange.Split('-'); string[] yrange = item.YRange.Split('-'); string[] arruntil = item.until.Split('|'); string secondPP = arruntil[1]; string[] str2P = secondPP.Split(','); string[] str2PX = str2P[0].TrimEnd(')').Split('('); string[] str2PY = str2P[1].TrimEnd(')').Split('('); string until = ""; int SecondePutPX = 0; int SecondePutPRX = 0; int SecondePutPY = 0; int SecondePutPRY = 0; if (arruntil.Length > 0) { until = arruntil[0]; SecondePutPX = Convert.ToInt32(str2PX[0]); SecondePutPRX = str2PX.Length == 2 ? Convert.ToInt32(str2PX[1]) : 0; SecondePutPY = Convert.ToInt32(str2PY[0]); SecondePutPRY = str2PY.Length == 2 ? Convert.ToInt32(str2PY[1]) : 0; } Entrances.Add(new Entrance() { PutPX = Convert.ToInt32(strPX[0]), PutPRX = strPX.Length == 2 ? Convert.ToInt32(strPX[1]) : 0, PutPY = Convert.ToInt32(strPY[0]), PutPRY = strPY.Length == 2 ? Convert.ToInt32(strPY[1]) : 0, CityCode = item.CityCode, CityName = item.CityName, Condition = item.Condition, Type = String.IsNullOrEmpty(item.Type) ? "Walk" : item.Type, XRange = new int[] { Convert.ToInt32(xrange[0]), Convert.ToInt32(xrange[1]) }, YRange = new int[] { Convert.ToInt32(yrange[0]), Convert.ToInt32(yrange[1]) }, until = until, SecondePutPX = SecondePutPX, SecondePutPRX = SecondePutPRX, SecondePutPY = SecondePutPY, SecondePutPRY = SecondePutPRY }); } City city2 = new City() { CityCode = city.CityCode, CityName = city.CityName, MapMaxGameCoor = new GameCoordinate() { X = Convert.ToInt32(city.MaxX), Y = Convert.ToInt32(city.MaxY) }, MapSize = new int[2] { Convert.ToInt32(str[0]), Convert.ToInt32(str[1]) }, Entrances = Entrances }; return(city2); }