Exemplo n.º 1
0
        private static void DeleteMap_OnCommand(CommandEventArgs e)
        {
            try
            {
                BaseInstanceMap basemap = Map.Parse(e.GetString(0)) as BaseInstanceMap;

                if (basemap != null)
                {
                    List <Item>   items   = new List <Item>();
                    List <Mobile> mobiles = new List <Mobile>();

                    foreach (Item item in World.Items.Values)
                    {
                        if (item.Map == basemap && item.Parent == null)
                        {
                            items.Add(item);
                        }
                    }

                    for (int i = items.Count - 1; i >= 0; i--)
                    {
                        items[i].Delete();
                    }

                    foreach (Mobile m in World.Mobiles.Values)
                    {
                        if (!m.Player && m.Map == basemap)
                        {
                            mobiles.Add(m);
                        }
                    }

                    for (int i = mobiles.Count - 1; i >= 0; i--)
                    {
                        mobiles[i].Delete();
                    }

                    basemap.Delete();
                }
                else
                {
                    e.Mobile.SendMessage("Map " + e.GetString(0) + " was not found.  Usage: [createmap mapToDelete");
                }
            }
            catch
            {
                e.Mobile.SendMessage("Usage: [createmap mapToDelete");
            }
        }