Files
Ultimate-Fishing-Simulator-…/Assets/Scripts/Assembly-CSharp/SetTerrainPosition.cs
2026-03-04 09:37:33 +08:00

56 lines
2.1 KiB
C#

using System.Collections;
using GISTech.GISTerrainLoader;
using UnityEngine;
public class SetTerrainPosition : MonoBehaviour
{
public GISTerrainContainer MainTerrain;
public GISTerrainContainer SubTerrain;
private GISTerrainLoaderPrefs Prefs;
private GISTerrainLoaderRuntimePrefs RuntimePrefs;
private RuntimeTerrainGenerator RuntimeGenerator;
private string MainTerrainFilePath;
private string SubTerrainFilePath;
private void Start()
{
MainTerrainFilePath = Application.streamingAssetsPath + "/GIS Terrains/Example_SRTM30/Desert.tif";
SubTerrainFilePath = Application.streamingAssetsPath + "/GIS Terrains/Example_SubDesert/SubTerrain.tif";
RuntimeGenerator = GISTerrainLoaderMonoSingleton<RuntimeTerrainGenerator>.Get;
RuntimePrefs = GISTerrainLoaderMonoSingleton<GISTerrainLoaderRuntimePrefs>.Get;
Prefs = RuntimePrefs.Prefs;
StartCoroutine(GenerateTerrains());
}
private IEnumerator GenerateTerrains()
{
InitializingRuntimePrefs(Prefs, MainTerrainFilePath, 513);
yield return StartCoroutine(RuntimeGenerator.StartGenerating(Prefs));
MainTerrain = RuntimeGenerator.GeneratedContainer;
InitializingRuntimePrefs(Prefs, SubTerrainFilePath, 1025);
yield return StartCoroutine(RuntimeGenerator.StartGenerating(Prefs));
SubTerrain = RuntimeGenerator.GeneratedContainer;
DVector2 realWorldCoor = SubTerrain.GetBoundsCoordinatesAsDVector()[3];
SubTerrain.transform.position = GISTerrainLoaderGeoConversion.RealWorldCoordinatesToUnityWorldSpace(MainTerrain, realWorldCoor);
}
private void InitializingRuntimePrefs(GISTerrainLoaderPrefs Prefs, string DEMpath, int heightmapResolution)
{
Prefs.TerrainFilePath = DEMpath;
Prefs.RemovePrvTerrain = OptionEnabDisab.Disable;
Prefs.TerrainElevation = TerrainElevation.RealWorldElevation;
Prefs.terrainDimensionMode = TerrainDimensionsMode.AutoDetection;
Prefs.terrainScale = new Vector3(1f, 1f, 1f);
Prefs.projectionMode = ProjectionMode.Geographic;
Prefs.heightmapResolution = heightmapResolution;
Prefs.textureloadingMode = TexturesLoadingMode.AutoDetection;
Prefs.textureMode = TextureMode.WithTexture;
}
}