From b22fc8a64da2ab0ff8ed2f9326501e1713c2965d Mon Sep 17 00:00:00 2001
From: bartjuhhh <bart.knuiman@wur.nl>
Date: Wed, 4 Dec 2024 14:24:32 +0100
Subject: [PATCH] Removed _11 from TerrainGenerator.prefab.

---
 ...ator_11.prefab => TerrainGenerator.prefab} |  2 +-
 ...efab.meta => TerrainGenerator.prefab.meta} |  0
 Scripts/TerrainBuilder.cs                     | 17 ++----
 Scripts/TerrainTile.cs                        |  5 +-
 Scripts/TileEnabler.cs                        | 57 +++++++++++++++++++
 Scripts/TileEnabler.cs.meta                   |  2 +
 6 files changed, 68 insertions(+), 15 deletions(-)
 rename Prefabs/{TerrainGenerator_11.prefab => TerrainGenerator.prefab} (99%)
 rename Prefabs/{TerrainGenerator_11.prefab.meta => TerrainGenerator.prefab.meta} (100%)
 create mode 100644 Scripts/TileEnabler.cs
 create mode 100644 Scripts/TileEnabler.cs.meta

diff --git a/Prefabs/TerrainGenerator_11.prefab b/Prefabs/TerrainGenerator.prefab
similarity index 99%
rename from Prefabs/TerrainGenerator_11.prefab
rename to Prefabs/TerrainGenerator.prefab
index 31260a2..193544a 100644
--- a/Prefabs/TerrainGenerator_11.prefab
+++ b/Prefabs/TerrainGenerator.prefab
@@ -11,7 +11,7 @@ GameObject:
   - component: {fileID: 8981884769106181493}
   - component: {fileID: 4806176523509582529}
   m_Layer: 0
-  m_Name: TerrainGenerator_11
+  m_Name: TerrainGenerator
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
diff --git a/Prefabs/TerrainGenerator_11.prefab.meta b/Prefabs/TerrainGenerator.prefab.meta
similarity index 100%
rename from Prefabs/TerrainGenerator_11.prefab.meta
rename to Prefabs/TerrainGenerator.prefab.meta
diff --git a/Scripts/TerrainBuilder.cs b/Scripts/TerrainBuilder.cs
index e1ab35c..67e6304 100644
--- a/Scripts/TerrainBuilder.cs
+++ b/Scripts/TerrainBuilder.cs
@@ -67,7 +67,6 @@ namespace Wander
         public bool runOnStart              = false;
         public string prefix                = "Terrain";
         public float pixelError             = 2;
-        public string  areaName             = "Steenbergen";
         public Vector2 originWGS84          = new Vector2(51.985365f, 5.664941f); // Copy directly from Google maps. This is Forum on Campus WUR.
         public int numRings                 = 1;
         public int zoom                     = 12;
@@ -166,7 +165,6 @@ namespace Wander
             
             boundsSize  = (numRings*2+1)*tileSize; // (NumRings*2+1) is nTiles wide.
             boundaryData["boundsSize"] = boundsSize.ToString();
-            boundaryData["areaName"] = areaName;
 
             foreach ( var sceneObject in sceneObjects )
             {
@@ -542,6 +540,7 @@ namespace Wander
                 return 0; // Only build missing tiles.
             if (!overwriteExistingTiles)
             {
+                var areaName = SceneManager.GetActiveScene().name;
                 var tilePath = Path.Combine( Application.dataPath, $"{areaName}/tiles_{zoom}", $"tile_{coord.x}_{coord.y}").FS();
                 if (Directory.Exists( tilePath ))
                 {
@@ -735,9 +734,6 @@ namespace Wander
     [InitializeOnLoad]
     public class TerrainBuilderEditor : Editor
     {
-        bool toggle;
-   //     bool terrainDependenciesLoaded;
-
         public override void OnInspectorGUI()
         {
             TerrainBuilder builder = (TerrainBuilder)target;
@@ -755,15 +751,10 @@ namespace Wander
 
             GUILayout.BeginHorizontal();
             {
-                if (toggle = GUILayout.Toggle( toggle, "Checked Area name" ))
+                if (GUILayout.Button( "Build" ))
                 {
-                    toggle = true;
-                    if (GUILayout.Button( "Build" ))
-                    {
-                        toggle=false;
-                        builder.issuedSyncCoords = true;
-                        builder.issuedBuild = true;
-                    }
+                    builder.issuedSyncCoords = true;
+                    builder.issuedBuild = true;
                 }
                 if (GUILayout.Button( "Sync coords" ))
                 {
diff --git a/Scripts/TerrainTile.cs b/Scripts/TerrainTile.cs
index 4588d07..20f1630 100644
--- a/Scripts/TerrainTile.cs
+++ b/Scripts/TerrainTile.cs
@@ -8,6 +8,8 @@ using System.Threading.Tasks;
 using UnityEngine;
 using System.Threading;
 using UnityEngine.Rendering.HighDefinition;
+using UnityEngine.SceneManagement;
+
 
 
 
@@ -1170,7 +1172,8 @@ namespace Wander
                 return;
             }
 
-            var dirPath = Path.Combine( Application.dataPath, builder.areaName, $"tiles_{builder.zoom}", $"tile_{tileOrigin.x}_{tileOrigin.y}").FS();
+            var areaName = SceneManager.GetActiveScene().name;
+            var dirPath = Path.Combine( Application.dataPath, areaName, $"tiles_{builder.zoom}", $"tile_{tileOrigin.x}_{tileOrigin.y}").FS();
             if (!Directory.Exists( dirPath ) )
             { 
                 Directory.CreateDirectory( dirPath );
diff --git a/Scripts/TileEnabler.cs b/Scripts/TileEnabler.cs
new file mode 100644
index 0000000..d3add51
--- /dev/null
+++ b/Scripts/TileEnabler.cs
@@ -0,0 +1,57 @@
+using UnityEngine;
+//using UnityEngine.Addressables; 
+
+#if UNITY_EDITOR
+
+namespace Wander
+{
+    public class TileEnabler : MonoBehaviour
+    {
+        public float maxViewDistance = 2000;
+        public float minViewDistance = 0.1f;
+        public Camera cam;
+
+        float tileSize;
+        float halfHeight;
+
+        private void Start()
+        {
+            if ( cam == null )
+            {
+                cam = Camera.main;
+            }
+
+            var builder = FindFirstObjectByType<TerrainBuilder>();
+            halfHeight = builder.terrainHeight/2;
+            tileSize = (float)builder.tileSize;
+        }
+
+        private void Update()
+        {
+            if (cam == null)
+            {
+                return;
+            }
+
+            Camera c = new Camera();
+            c.CopyFrom( cam );
+            c.nearClipPlane = minViewDistance;
+            c.farClipPlane = maxViewDistance;
+
+            var planes = GeometryUtility.CalculateFrustumPlanes( c );
+
+            for (int i = 0; i < transform.childCount; i++)
+            {
+                var tile = transform.GetChild(i);
+                var bounds = new Bounds(tile.transform.position + new Vector3(tileSize, halfHeight, tileSize)/2, new Vector3(tileSize, halfHeight*2, tileSize));
+                if (i == 0)
+                {
+                    MiscUtils.DrawBox( bounds.center, Quaternion.identity, bounds.size, Color.blue );
+                }
+                tile.gameObject.SetActive( GeometryUtility.TestPlanesAABB( planes, bounds ) );
+            }
+        }
+    }
+}
+
+#endif
\ No newline at end of file
diff --git a/Scripts/TileEnabler.cs.meta b/Scripts/TileEnabler.cs.meta
new file mode 100644
index 0000000..45dc774
--- /dev/null
+++ b/Scripts/TileEnabler.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 39bfd911c0de22340b7b3990638e8177
\ No newline at end of file
-- 
GitLab