static void Main(string[] args) { // This application creates a number of envelopes for the surface of the globe // The number of envelopes depends upon your delta for lat and long // Map sheets var mapSheets = new List<MapSheet>(); double latitude = -90; double longitude = -180; // The amount of change per map sheet double deltaLat = 0.08; double deltaLong = 0.08; // Calculate how many maps we will need to make // 360 is the -180 to +180 long var iterationsLong = 360 / deltaLong; // Fill our maps for (int iLong = 0; iLong < iterationsLong; iLong++) { // 180 is the -90 to +90 lat var iterationsLat = 180 / deltaLat; // Populate our envelopes for each latitude in our iteration for (int iLat = 0; iLat < iterationsLat; iLat++) { var mapSheet = new MapSheet() { Name = $"{iLat}", AMGZone = "56", Envelope = new Envelope(latitude, longitude, (latitude + deltaLat), (longitude + deltaLong)), Number = iLat, Scale = "1:25,000" }; mapSheets.Add(mapSheet); // Increment our Lat latitude += deltaLat; } // Increment our long longitude += deltaLong; // Reset our lat latitude = -90; } // Query by coordinate var dateStart = DateTime.UtcNow; var map = mapSheets.FirstOrDefault(a => a.Envelope.Contains(new Coordinate(0.5, 0.5))); var dateEnd = DateTime.UtcNow; var elapsed = dateEnd - dateStart; Console.WriteLine($"{elapsed} to find one envelope in {mapSheets.Count} envelopes ({map.Name})"); Console.ReadKey(); }
public static void Unload() { Subtitle.Dispose(); Title.Dispose(); Splash.Dispose(); MapSheet.Dispose(); MiniHP.Dispose(); HPMenu.Dispose(); Buttons.Dispose(); Shadows.Dispose(); Darkness.Dispose(); BattleFactors.Dispose(); Strip.Dispose(); Cursor.Dispose(); Arrows.Dispose(); PicBorder.Dispose(); MenuBorder.Dispose(); MenuBG.Dispose(); tileCache.Clear(); objectCache.Clear(); bgCache.Clear(); itemCache.Clear(); iconCache.Clear(); vfxCache.Clear(); portraitCache.Clear(); spriteCache.Clear(); DivTex.Dispose(); EXPFont.Dispose(); HealFont.Dispose(); DamageFont.Dispose(); DungeonFont.Dispose(); TextFont.Dispose(); SysFont.Dispose(); Pixel.Dispose(); defaultTex.Dispose(); Loaded = false; //Notify script engine LuaEngine.Instance.OnGraphicsUnload(); }
public void Dispose() { changePollTimer.Stop(); SpriteSheet.Dispose(); MapSheet.Dispose(); }