49 lines
1.5 KiB
C#
49 lines
1.5 KiB
C#
using UnityEngine.AI;
|
|
|
|
namespace UnityEditor.AI
|
|
{
|
|
[CanEditMultipleObjects]
|
|
[CustomEditor(typeof(NavMeshModifier))]
|
|
class NavMeshModifierEditor : Editor
|
|
{
|
|
SerializedProperty m_AffectedAgents;
|
|
SerializedProperty m_Area;
|
|
SerializedProperty m_IgnoreFromBuild;
|
|
SerializedProperty m_OverrideArea;
|
|
|
|
void OnEnable()
|
|
{
|
|
m_AffectedAgents = serializedObject.FindProperty("m_AffectedAgents");
|
|
m_Area = serializedObject.FindProperty("m_Area");
|
|
m_IgnoreFromBuild = serializedObject.FindProperty("m_IgnoreFromBuild");
|
|
m_OverrideArea = serializedObject.FindProperty("m_OverrideArea");
|
|
|
|
NavMeshVisualizationSettings.showNavigation++;
|
|
}
|
|
|
|
void OnDisable()
|
|
{
|
|
NavMeshVisualizationSettings.showNavigation--;
|
|
}
|
|
|
|
public override void OnInspectorGUI()
|
|
{
|
|
serializedObject.Update();
|
|
|
|
EditorGUILayout.PropertyField(m_IgnoreFromBuild);
|
|
|
|
EditorGUILayout.PropertyField(m_OverrideArea);
|
|
if (m_OverrideArea.boolValue)
|
|
{
|
|
EditorGUI.indentLevel++;
|
|
NavMeshComponentsGUIUtility.AreaPopup("Area Type", m_Area);
|
|
EditorGUI.indentLevel--;
|
|
}
|
|
|
|
NavMeshComponentsGUIUtility.AgentMaskPopup("Affected Agents", m_AffectedAgents);
|
|
EditorGUILayout.Space();
|
|
|
|
serializedObject.ApplyModifiedProperties();
|
|
}
|
|
}
|
|
}
|