RealWorldTerrainLoadHeightmapPhase.cs 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /* INFINITY CODE 2013-2019 */
  2. /* http://www.infinity-code.com */
  3. using System;
  4. using InfinityCode.RealWorldTerrain.Generators;
  5. using InfinityCode.RealWorldTerrain.Windows;
  6. using UnityEngine;
  7. namespace InfinityCode.RealWorldTerrain.Phases
  8. {
  9. public class RealWorldTerrainLoadHeightmapPhase : RealWorldTerrainPhase
  10. {
  11. public override string title
  12. {
  13. get { return "Load Elevations..."; }
  14. }
  15. public override void Enter()
  16. {
  17. try
  18. {
  19. if (prefs.elevationProvider == RealWorldTerrainElevationProvider.SRTM)
  20. {
  21. for (index = 0; index < RealWorldTerrainElevationGenerator.elevations.Count; index++)
  22. {
  23. RealWorldTerrainElevationGenerator activeElevation = RealWorldTerrainElevationGenerator.elevations[index];
  24. ((RealWorldTerrainSRTMElevationGenerator)activeElevation).ParseHeightmap();
  25. if (!isCapturing) return;
  26. }
  27. }
  28. else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.BingMaps)
  29. {
  30. if (!RealWorldTerrainBingElevationGenerator.Load())
  31. {
  32. RealWorldTerrainWindow.CancelCapture();
  33. Debug.LogError("Cannot load elevation map");
  34. return;
  35. }
  36. }
  37. else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.ArcGIS)
  38. {
  39. if (!RealWorldTerrainArcGISElevationGenerator.Load())
  40. {
  41. RealWorldTerrainWindow.CancelCapture();
  42. Debug.LogError("Cannot load elevation map");
  43. return;
  44. }
  45. }
  46. else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.Mapbox)
  47. {
  48. if (!RealWorldTerrainMapboxElevationGenerator.Load())
  49. {
  50. RealWorldTerrainWindow.CancelCapture();
  51. Debug.LogError("Cannot load elevation map");
  52. return;
  53. }
  54. }
  55. else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.SRTM30)
  56. {
  57. for (index = 0; index < RealWorldTerrainElevationGenerator.elevations.Count; index++)
  58. {
  59. RealWorldTerrainElevationGenerator activeElevation = RealWorldTerrainElevationGenerator.elevations[index];
  60. ((RealWorldTerrainSRTM30ElevationGenerator)activeElevation).ParseHeightmap();
  61. if (!isCapturing) return;
  62. }
  63. }
  64. Complete();
  65. }
  66. catch (Exception exception)
  67. {
  68. Debug.LogException(exception);
  69. RealWorldTerrainWindow.CancelCapture();
  70. }
  71. }
  72. }
  73. }