public EarthMap() { this.InitializeComponent(); base.SetStyle(ControlStyles.ResizeRedraw, true); base.SetStyle(ControlStyles.AllPaintingInWmPaint, true); base.SetStyle(ControlStyles.UserPaint, true); base.SetStyle(ControlStyles.DoubleBuffer, true); base.SetStyle(ControlStyles.SupportsTransparentBackColor, false); base.SetStyle(ControlStyles.ContainerControl, false); string path = Application.StartupPath + @"\map\countries.data"; if (File.Exists(path)) { FileStream stream = new FileStream(path, FileMode.Open); this.mCountryData = new byte[stream.Length]; stream.Read(this.mCountryData, 0, (int) stream.Length); stream.Close(); } string str2 = Application.StartupPath + @"\map\map.gpgnet"; if (File.Exists(Application.StartupPath + @"\map\xmap.bin")) { FileStream stream2 = File.Open(Application.StartupPath + @"\map\map.bin", FileMode.Open); this.mHighResData = new byte[(int) stream2.Length]; stream2.Read(this.mHighResData, 0, (int) stream2.Length); stream2.Close(); stream2 = File.Open(Application.StartupPath + @"\map\header.bin", FileMode.Open); this.mHighResHeader = new byte[(int) stream2.Length]; stream2.Read(this.mHighResHeader, 0, (int) stream2.Length); stream2.Close(); this.mLoaded = true; this.mHighRes = true; } else if (File.Exists(str2)) { this.mLoaded = true; this.mMapTiles.LoadPackage(str2, true); } else { str2 = @"C:\work\rts\main\code\src\Multiplayer\MultiplayerClient\bin\Debug\map.gpgnet"; if (File.Exists(str2)) { this.mLoaded = true; this.mMapTiles.LoadPackage(str2, true); } } if (this.mHighRes) { ZoomInfo info = new ZoomInfo(); info.Prefix = "0"; info.HorizontalTiles = 320; info.VerticleTiles = 160; info.ZoomThreshold = 6.068148f; this.mZoomInfoList.Add(info); info = new ZoomInfo(); info.Prefix = "1"; info.HorizontalTiles = 160; info.VerticleTiles = 80; info.ZoomThreshold = 3.034074f; this.mZoomInfoList.Add(info); info = new ZoomInfo(); info.Prefix = "2"; info.HorizontalTiles = 80; info.VerticleTiles = 40; info.ZoomThreshold = 1.517037f; this.mZoomInfoList.Add(info); info = new ZoomInfo(); info.Prefix = "3"; info.HorizontalTiles = 40; info.VerticleTiles = 20; info.ZoomThreshold = 0.7585185f; this.mZoomInfoList.Add(info); info = new ZoomInfo(); info.Prefix = "4"; info.HorizontalTiles = 20; info.VerticleTiles = 10; info.ZoomThreshold = 0.3792593f; this.mZoomInfoList.Add(info); info = new ZoomInfo(); info.Prefix = "5"; info.HorizontalTiles = 10; info.VerticleTiles = 5; info.ZoomThreshold = 0.1896296f; this.mZoomInfoList.Add(info); } else { ZoomInfo info2 = new ZoomInfo(); this.mZoomInfoList.Add(info2); ZoomInfo info3 = new ZoomInfo(); info3.Prefix = "medium_"; info3.HorizontalTiles = 20; info3.VerticleTiles = 10; info3.ZoomThreshold = 0.2f; this.mZoomInfoList.Add(info3); ZoomInfo info4 = new ZoomInfo(); info4.Prefix = "large_"; info4.HorizontalTiles = 4; info4.VerticleTiles = 2; info4.ZoomThreshold = 0.04f; this.mZoomInfoList.Add(info4); this.mRenderInfo = info4; } this.BackColor = Color.FromArgb(3, 6, 0x15); }
private ZoomInfo GetZoomLevel() { ZoomInfo info = null; foreach (ZoomInfo info2 in this.mZoomInfoList) { if (info == null) { info = info2; } else { if (info.ZoomThreshold > (this.mSmootheMapScale + 0.5f)) { info = info2; continue; } if ((info2.ZoomThreshold < (this.mSmootheMapScale + 0.5f)) && (info2.ZoomThreshold > info.ZoomThreshold)) { info = info2; } } } this.mRenderInfo = info; return info; }