50 lines
1.5 KiB
C#
50 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();
|
||
|
}
|
||
|
}
|
||
|
}
|