using ABI.CCK.Components; using UnityEditor; using UnityEngine; namespace ABI.CCK.Scripts.Editor { [CustomEditor(typeof(CVRHapticZone))] public class CCK_CVRHapticZoneEditor : UnityEditor.Editor { private CVRHapticZone _hapticZone; public override void OnInspectorGUI() { if (_hapticZone == null) _hapticZone = (CVRHapticZone) target; _hapticZone.triggerForm = (CVRHapticZone.TriggerForm) EditorGUILayout.EnumPopup("Trigger Form", _hapticZone.triggerForm); _hapticZone.center = EditorGUILayout.Vector3Field("Trigger Center", _hapticZone.center); if (_hapticZone.triggerForm == CVRHapticZone.TriggerForm.Box) { _hapticZone.bounds = EditorGUILayout.Vector3Field("Trigger Bounds", _hapticZone.bounds); } else { _hapticZone.bounds.x = EditorGUILayout.FloatField("Trigger Radius", _hapticZone.bounds.x); } GUILayout.BeginVertical("HelpBox"); GUILayout.BeginHorizontal (); _hapticZone.enableOnEnter = EditorGUILayout.Toggle (_hapticZone.enableOnEnter, GUILayout.Width(16)); EditorGUILayout.LabelField ("On Enter", GUILayout.Width(150)); GUILayout.EndHorizontal (); if (_hapticZone.enableOnEnter) { GUILayout.BeginHorizontal(); GUILayout.BeginVertical("GroupBox"); _hapticZone.onEnterIntensity = EditorGUILayout.Slider("Intensity", _hapticZone.onEnterIntensity, 0f, 1f); GUILayout.EndVertical (); GUILayout.EndHorizontal (); } GUILayout.EndVertical(); GUILayout.BeginVertical("HelpBox"); GUILayout.BeginHorizontal (); _hapticZone.enableOnStay = EditorGUILayout.Toggle (_hapticZone.enableOnStay, GUILayout.Width(16)); EditorGUILayout.LabelField ("On Stay", GUILayout.Width(150)); GUILayout.EndHorizontal (); if (_hapticZone.enableOnStay) { GUILayout.BeginHorizontal(); GUILayout.BeginVertical("GroupBox"); _hapticZone.onStayIntensity = EditorGUILayout.Slider("Intensity", _hapticZone.onStayIntensity, 0f, 1f); _hapticZone.onStayTiming = (CVRHapticZone.TriggerTiming) EditorGUILayout.EnumPopup("Timing", _hapticZone.onStayTiming); if (_hapticZone.onStayTiming == CVRHapticZone.TriggerTiming.random) { _hapticZone.onStayChance = EditorGUILayout.Slider("Chance", _hapticZone.onStayChance, 0f, 1f); } GUILayout.EndVertical (); GUILayout.EndHorizontal (); } GUILayout.EndVertical(); GUILayout.BeginVertical("HelpBox"); GUILayout.BeginHorizontal (); _hapticZone.enableOnExit = EditorGUILayout.Toggle (_hapticZone.enableOnExit, GUILayout.Width(16)); EditorGUILayout.LabelField ("On Exit", GUILayout.Width(150)); GUILayout.EndHorizontal (); if (_hapticZone.enableOnExit) { GUILayout.BeginHorizontal(); GUILayout.BeginVertical("GroupBox"); _hapticZone.onExitIntensity = EditorGUILayout.Slider("Intensity", _hapticZone.onExitIntensity, 0f, 1f); GUILayout.EndVertical (); GUILayout.EndHorizontal (); } GUILayout.EndVertical(); } } }