Exemplo n.º 1
0
 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);
 }
Exemplo n.º 2
0
 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;
 }