1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /* INFINITY CODE 2013-2019 */
- /* http://www.infinity-code.com */
- using System.Threading;
- using InfinityCode.RealWorldTerrain.Generators;
- namespace InfinityCode.RealWorldTerrain.Phases
- {
- public class RealWorldTerrainUnzipHeightmapPhase : RealWorldTerrainPhase
- {
- private RealWorldTerrainElevationGenerator activeElevation;
- public override string title
- {
- get { return "Unzip Elevations..."; }
- }
- public override void Enter()
- {
- if (activeElevation != null && !activeElevation.unziped) return;
- if (index >= RealWorldTerrainElevationGenerator.elevations.Count)
- {
- Complete();
- return;
- }
- activeElevation = RealWorldTerrainElevationGenerator.elevations[index];
- progress = index / (float)RealWorldTerrainElevationGenerator.elevations.Count;
- if (activeElevation.unziped)
- {
- index++;
- return;
- }
- RealWorldTerrainElevationGenerator generator = activeElevation;
- if (generateInThread) new Thread(generator.UnzipHeightmap).Start();
- else generator.UnzipHeightmap();
- }
- public override void Finish()
- {
- activeElevation = null;
- }
- public override void Start()
- {
- if (prefs.elevationProvider != RealWorldTerrainElevationProvider.SRTM &&
- prefs.elevationProvider != RealWorldTerrainElevationProvider.SRTM30)
- {
- Complete();
- }
- }
- }
- }
|