RealWorldTerrainGenerateTexturesPhase.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /* INFINITY CODE */
  2. /* https://infinity-code.com */
  3. using InfinityCode.RealWorldTerrain.Generators;
  4. namespace InfinityCode.RealWorldTerrain.Phases
  5. {
  6. public class RealWorldTerrainGenerateTexturesPhase : RealWorldTerrainPhase
  7. {
  8. public override string title
  9. {
  10. get { return "Generate Textures..."; }
  11. }
  12. public override void Enter()
  13. {
  14. if (index >= terrainCount)
  15. {
  16. Complete();
  17. return;
  18. }
  19. int x = index % prefs.terrainCount.x;
  20. int y = index / prefs.terrainCount.x;
  21. progress = (index + phaseProgress) / terrainCount;
  22. if (prefs.textureResultType == RealWorldTerrainTextureResultType.regularTexture) RealWorldTerrainTextureGenerator.GenerateTexture(terrains[x, y]);
  23. else if (prefs.textureResultType == RealWorldTerrainTextureResultType.hugeTexture) RealWorldTerrainTextureGenerator.GenerateHugeTexture(terrains[x, y]);
  24. else if (prefs.textureResultType == RealWorldTerrainTextureResultType.terrainLayers) RealWorldTerrainTerrainLayersGenerator.Generate(terrains[x, y]);
  25. else phaseComplete = true;
  26. if (phaseComplete)
  27. {
  28. index++;
  29. phaseProgress = 0;
  30. phaseComplete = false;
  31. }
  32. }
  33. public override void Finish()
  34. {
  35. RealWorldTerrainTextureGenerator.colors = null;
  36. }
  37. }
  38. }