2025-02-12 22:43:02 +00:00

55 lines
1.0 KiB
C#

using UnityEngine;
using System.Collections;
using UnityEngine.AI;
public class MinimapMesh : MonoBehaviour
{
[SerializeField] private GameEvent onMinimapGenerated;
[SerializeField] private ZoneData zoneMap;
MeshFilter filter;
NavMeshTriangulation triangles;
Mesh mesh;
private void Awake()
{
filter = GetComponent<MeshFilter>();
}
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
mesh = new Mesh
{
vertices = triangles.vertices,
triangles = triangles.indices
};
// set to mesh filter
filter.mesh = mesh;
}
}