using UnityEngine;
using JNGame.Math;
namespace JNGame.Map
{
///
/// 地图数据
///
[System.Serializable]
public class StaticMapData
{
///
/// 地图ID
///
public int mapID;
///
/// 地图名
///
public string mapName;
///
/// 地图导航网格数据
///
public PathFinding.NavMeshData navMeshData;
}
///
/// 生成地图配置逻辑数据的脚步,仅作为编辑器导出地图场景数据的入口,运行时无作用
///
public class GenMapConfigHelper : MonoBehaviour
{
///
/// 地图ID
///
public int mapID;
///
/// 地图名
///
public string mapName;
///
/// Unity的Navigation组件
///
public Unity.AI.Navigation.NavMeshSurface navMeshSurface;
private void OnDrawGizmos()
{
// if (m_MapConfig == null) { return; }
// DrawNavMesh();
}
// private void DrawNavMesh()
// {
// if (m_MapConfig == null || m_MapConfig.navMeshData == null || m_MapConfig.navMeshData.pathTriangles == null) { return; }
// int i = 0;
// Gizmos.color = Color.green;
// while (i < m_MapConfig.navMeshData.pathTriangles.Length)
// {
// int aIndex = m_MapConfig.navMeshData.pathTriangles[i++];
// int bIndex = m_MapConfig.navMeshData.pathTriangles[i++];
// int cIndex = m_MapConfig.navMeshData.pathTriangles[i++];
// Vector3 vertexA = m_MapConfig.navMeshData.pathVertices[aIndex].ToVector3();
// Vector3 vertexB = m_MapConfig.navMeshData.pathVertices[bIndex].ToVector3();
// Vector3 vertexC = m_MapConfig.navMeshData.pathVertices[cIndex].ToVector3();
// Gizmos.DrawLine(vertexA, vertexB);
// Gizmos.DrawLine(vertexB, vertexC);
// Gizmos.DrawLine(vertexC, vertexA);
// }
// Gizmos.color = Color.blue;
// Vector3 bottomLeft = new LVector3(m_MapConfig.navMeshData.xMin, 0.ToLFloat(), m_MapConfig.navMeshData.zMin).ToVector3();
// Vector3 bottomRight = new LVector3(m_MapConfig.navMeshData.xMax, 0.ToLFloat(), m_MapConfig.navMeshData.zMin).ToVector3();
// Vector3 topLeft = new LVector3(m_MapConfig.navMeshData.xMin, 0.ToLFloat(), m_MapConfig.navMeshData.zMax).ToVector3();
// Vector3 topRight = new LVector3(m_MapConfig.navMeshData.xMax, 0.ToLFloat(), m_MapConfig.navMeshData.zMax).ToVector3();
// Gizmos.DrawLine(bottomLeft, bottomRight);
// Gizmos.DrawLine(bottomLeft, topLeft);
// Gizmos.DrawLine(bottomRight, topRight);
// Gizmos.DrawLine(topLeft, topRight);
// }
}
}