public static void SurfaceGizmos(AeroSurface surf, GizmoType gizmoType)
    {
        Rigidbody rb = surf.GetComponentInParent <Rigidbody>();

        if (surf.Config == null || rb == null)
        {
            return;
        }
        AircraftPhysicsDisplaySettings settings = AircraftPhysicsDisplaySettings.Instance;

        // Selection Shape
        if (settings.showSurfaces)
        {
            Gizmos.color  = Color.clear;
            Gizmos.matrix = surf.transform.localToWorldMatrix;
            Gizmos.DrawCube(-Vector3.right * 0.25f * surf.Config.chord, new Vector3(surf.Config.chord, 0.1f, surf.Config.chord * surf.Config.aspectRatio));

            DrawSurface(surf.transform, surf.Config, surf.FlapAngle, surf.IsAtStall);
        }

        if (settings.showForces)
        {
            float scale = settings.lengthScale;
            if (settings.scaleForcesByWeight)
            {
                scale /= rb.mass * Physics.gravity.magnitude;
            }
            DrawForces(surf.transform, surf.CurrentLift * scale, surf.CurrentDrag * scale, surf.CurrentTorque * scale);
        }
    }
 private void OnEnable()
 {
     config           = serializedObject.FindProperty("config");
     isControlSurface = serializedObject.FindProperty("IsControlSurface");
     inputType        = serializedObject.FindProperty("InputType");
     inputMultiplyer  = serializedObject.FindProperty("InputMultiplyer");
     surface          = target as AeroSurface;
 }
    public override void OnInspectorGUI()
    {
        AeroSurface surface       = (AeroSurface)target;
        bool        defaultChange = DrawDefaultInspector();

        GUILayout.Space(10);
        EditorGUILayout.LabelField("Info", EditorStyles.boldLabel);

        EditorGUILayout.LabelField($"AoA*:\t{surface.AngleOfAttack}");
        EditorGUILayout.LabelField($"Area:\t{surface.SurfaceArea}m");
        EditorGUILayout.LabelField($"Wind:\t{surface.Wind.magnitude}m/s");
        EditorGUILayout.LabelField($"Wind:\t{surface.WindSpeedFront}m/s (applicable) [{surface.WindSpeedFront / surface.Wind.magnitude * 100.0f}%]");
        GUILayout.Space(10);
        EditorGUILayout.LabelField($"Lift:\t{surface.LiftForce} [{surface.LiftForce.magnitude}]");
        EditorGUILayout.LabelField($"Drag:\t{surface.DragForce} [{surface.LiftForce.magnitude}]");
    }