예제 #1
0
        public static string Bulid(HttpContext context)
        {
            bool value = false;
            string message = "Fail";

            XElement result = new XElement("Result");

            try
            {

                using (MapBussiness db = new MapBussiness())
                {
                    MapInfo[] infos = db.GetAllMap();
                    foreach (MapInfo info in infos)
                    {
                        result.Add(Road.Flash.FlashUtils.CreateMapInfo(info));
                    }
                }

                value = true;
                message = "Success!";
            }
            catch (Exception ex)
            {
                log.Error("LoadMapsItems", ex);
            }

            result.Add(new XAttribute("value", value));
            result.Add(new XAttribute("message", message));
            return csFunction.CreateCompressXml(context, result, "LoadMapsItems", true);
        }
예제 #2
0
        public void ProcessRequest(HttpContext context)
        {
            bool value = false;
            string message = "获取失败!";
            XElement result = new XElement("Result");

            try
            {
                using (MapBussiness db = new MapBussiness())
                {
                    MapWeekInfo[] infos = db.GetAllMapWeek();
                    foreach (MapWeekInfo info in infos)
                    {
                        result.Add(FlashUtils.CreateMapWeek(info));
                    }

                    value = true;
                    message = "获取成功!";
                }
            }
            catch (Exception ex)
            {
                log.Error("加载地图周期失败", ex);
            }

            result.Add(new XAttribute("value", value));
            result.Add(new XAttribute("message", message));

            context.Response.ContentType = "text/plain";
            context.Response.Write(result.ToString(false));
        }
예제 #3
0
        public static string Bulid(HttpContext context)
        {
            bool value = false;
            string message = "Fail";

            XElement result = new XElement("Result");

            try
            {
                //TankDBDataContext db = new TankDBDataContext();
                //var query = from m in db.Game_Maps
                //            where m.PosX != null && m.PosX != ""
                //            select m;
                //foreach (var m in query)
                //{
                //    result.Add(Road.Flash.FlashUtils.CreateMapInfo(m));
                //}

                using (MapBussiness db = new MapBussiness())
                {
                    MapInfo[] infos = db.GetAllMap();
                    foreach (MapInfo info in infos)
                    {
                        result.Add(Road.Flash.FlashUtils.CreateMapInfo(info));
                    }
                }

                value = true;
                message = "Success!";
            }
            catch (Exception ex)
            {
                log.Error("LoadMapsItems", ex);
            }

            result.Add(new XAttribute("value", value));
            result.Add(new XAttribute("message", message));
            return csFunction.CreateCompressXml(context, result, "LoadMapsItems", true);

        }
예제 #4
0
        public static bool LoadMap(Dictionary<int, MapPoint> maps, Dictionary<int, Map> mapInfos)
        {
            try
            {
                MapBussiness db = new MapBussiness();
                MapInfo[] query = db.GetAllMap();

                foreach (MapInfo m in query)
                {
                    if (string.IsNullOrEmpty(m.PosX) )//|| string.IsNullOrEmpty(m.PosX1))
                        continue;

                    if (!maps.Keys.Contains(m.ID))
                    {
                        string[] tmp = m.PosX.Split('|');
                        string[] tmp1 = m.PosX1.Split('|');
                        //List<Point> pos = new List<Point>();
                        MapPoint pos = new MapPoint();
                        foreach (string s in tmp)
                        {
                            if (string.IsNullOrEmpty(s.Trim()))
                                continue;

                            string[] xy = s.Split(',');
                            pos.PosX.Add(new Point(int.Parse(xy[0]), int.Parse(xy[1])));
                            //Point temp = new Point(int.Parse(xy[0]), int.Parse(xy[1]));
                            //pos.Add(temp);
                        }

                        foreach (string s in tmp1)
                        {
                            if (string.IsNullOrEmpty(s.Trim()))
                                continue;

                            string[] xy = s.Split(',');
                            pos.PosX1.Add(new Point(int.Parse(xy[0]), int.Parse(xy[1])));
                            //Point temp = new Point(int.Parse(xy[0]), int.Parse(xy[1]));
                            //pos.Add(temp);
                        }

                        maps.Add(m.ID, pos);
                    }

                    if (!mapInfos.ContainsKey(m.ID))
                    {
                        Tile force = null;
                        string file = string.Format("map\\{0}\\fore.map", m.ID);
                        if (File.Exists(file))
                        {
                            force = new Tile(file, true);
                        }

                        Tile dead = null;
                        file = string.Format("map\\{0}\\dead.map", m.ID);
                        if (File.Exists(file))
                        {
                            dead = new Tile(file, false);
                        }

                        if (force != null || dead != null)
                        {
                            mapInfos.Add(m.ID, new Map(m, force, dead));
                        }
                        else
                        {
                            if (log.IsErrorEnabled)
                                log.Error("Map's file is not exist!");
                            return false;
                        }
                    }
                }

                if (maps.Count == 0 || mapInfos.Count == 0)
                {
                    if (log.IsErrorEnabled)
                        log.Error("maps:" + maps.Count + ",mapInfos:" + mapInfos.Count);
                    return false;
                }
            }
            catch (Exception e)
            {
                if (log.IsErrorEnabled)
                    log.Error("MapMgr", e);
                return false;
            }
            return true;
        }
예제 #5
0
        public static bool InitServerMap(Dictionary<int, List<int>> servermap)
        {
            MapBussiness db = new MapBussiness();
            ServerMapInfo[] infos = db.GetAllServerMap();

            try
            {
                var temp=0;
                foreach (ServerMapInfo info in infos)
                {
                    //if (info.WeekID < 1 || info.WeekID > 7)
                    //    continue;

                    if (!servermap.Keys.Contains(info.ServerID))
                    {
                        string[] str = info.OpenMap.Split(',');
                        List<int> list = new List<int>();
                        foreach (string s in str)
                        {
                            if (string.IsNullOrEmpty(s))
                                continue;
                            if(int.TryParse(s,out temp))list.Add(temp);
                        }
                        servermap.Add(info.ServerID, list);
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.ToString());
            }

            return true;
        }