Exemple #1
0
        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);
            }
        }
Exemple #2
0
 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));
     }
 }
Exemple #3
0
        //再做下转换兼容!!!
        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);
        }