示例#1
0
        public void UpdateMapList(List <string> newMapList)
        {
            var mp = new MapListPacket();

            SendPacket(mp);
            if (!mp.PacketOk)
            {
                Logger.Log(LogLevel.Error, "Map update failed - invalid /maps response");
                return;
            }

            int added   = 0;
            int dropped = 0;

            foreach (var s in mp.MapList)
            {
                if (!newMapList.Contains(s))
                {
                    SendCommand("dropmap", s);
                    dropped++;
                }
            }

            foreach (var s in newMapList)
            {
                if (!mp.MapList.Contains(s))
                {
                    SendCommand("addmap", s);
                    added++;
                }
            }
            Logger.Log(LogLevel.Verbose, "Added {0} maps, dropped {1} maps", added.ToString(), dropped.ToString());
        }
        //MapListPacket
        private static void HandlePacket(MapListPacket packet)
        {
            MapList.List.JsonData = packet.MapListData;
            MapList.List.PostLoad(MapBase.Lookup, false, true);

            //TODO ? If admin window is open update it
        }
示例#3
0
        //MapListPacket
        private static void HandlePacket(MapListPacket packet)
        {
            MapList.List.JsonData = packet.MapListData;
            MapList.List.PostLoad(MapBase.Lookup, false, true);
            if (Globals.CurrentMap == null)
            {
                Globals.MainForm.EnterMap(MapList.List.FindFirstMap());
            }

            Globals.MapListWindow.BeginInvoke(Globals.MapListWindow.mapTreeList.MapListDelegate, Guid.Empty, null);
            Globals.MapPropertiesWindow?.BeginInvoke(Globals.MapPropertiesWindow.UpdatePropertiesDelegate);
        }