Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEditor;
- namespace Pathfinding {
- [CustomEditor(typeof(RaycastModifier))]
- [CanEditMultipleObjects]
- public class RaycastModifierEditor : Editor {
- SerializedProperty iterations, useRaycasting, thickRaycast, thickRaycastRadius, use2DPhysics, raycastOffset, useGraphRaycasting, subdivideEveryIter, mask;
- void OnEnable () {
- iterations = serializedObject.FindProperty("iterations");
- useRaycasting = serializedObject.FindProperty("useRaycasting");
- thickRaycast = serializedObject.FindProperty("thickRaycast");
- thickRaycastRadius = serializedObject.FindProperty("thickRaycastRadius");
- use2DPhysics = serializedObject.FindProperty("use2DPhysics");
- raycastOffset = serializedObject.FindProperty("raycastOffset");
- useGraphRaycasting = serializedObject.FindProperty("useGraphRaycasting");
- subdivideEveryIter = serializedObject.FindProperty("subdivideEveryIter");
- mask = serializedObject.FindProperty("mask");
- }
- public override void OnInspectorGUI () {
- serializedObject.Update();
- EditorGUI.indentLevel = 0;
- EditorGUILayout.PropertyField(iterations);
- if (iterations.intValue < 0 && !iterations.hasMultipleDifferentValues) iterations.intValue = 0;
- EditorGUILayout.PropertyField(useRaycasting);
- if (useRaycasting.boolValue) {
- EditorGUI.indentLevel++;
- EditorGUILayout.PropertyField(use2DPhysics);
- EditorGUILayout.PropertyField(thickRaycast);
- if (thickRaycast.boolValue) {
- EditorGUI.indentLevel++;
- EditorGUILayout.PropertyField(thickRaycastRadius);
- if (thickRaycastRadius.floatValue < 0 && !thickRaycastRadius.hasMultipleDifferentValues) thickRaycastRadius.floatValue = 0;
- EditorGUI.indentLevel--;
- }
- EditorGUILayout.PropertyField(raycastOffset);
- EditorGUILayout.PropertyField(mask, new UnityEngine.GUIContent("Layer Mask", mask.tooltip));
- EditorGUI.indentLevel--;
- }
- EditorGUILayout.PropertyField(useGraphRaycasting);
- EditorGUILayout.PropertyField(subdivideEveryIter, new UnityEngine.GUIContent("Subdivide Every Iteration", subdivideEveryIter.tooltip));
- serializedObject.ApplyModifiedProperties();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement