using UnityEngine; using System.Collections; using UnityEngine.AI; [ExecuteInEditMode] public class MinimapMesh : MonoBehaviour { [SerializeField] private GameEvent onMinimapGenerated; [SerializeField] private ZoneData zoneMap; MeshFilter filter; NavMeshTriangulation triangles; Mesh mesh; private void Awake() { filter = GetComponent(); } private void Start() { if (zoneMap == null) return; if (onMinimapGenerated == null) return; if (!zoneMap.isProceduralMap) GenerateMinimap(); } public void GenerateMinimap() { GenerateMesh(); onMinimapGenerated.Raise(); } private void GenerateMesh() { // Getnavmesh data triangles = NavMesh.CalculateTriangulation(); // Create new mesh with data if (mesh == null) mesh = new Mesh(); mesh.vertices = triangles.vertices; mesh.triangles = triangles.indices; // set to mesh filter filter.mesh = mesh; } }