12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- 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();
- }
- }
- }
|