private void OnEnable() { liftSlope = serializedObject.FindProperty("liftSlope"); skinFriction = serializedObject.FindProperty("skinFriction"); zeroLiftAoA = serializedObject.FindProperty("zeroLiftAoA"); stallAngleHigh = serializedObject.FindProperty("stallAngleHigh"); stallAngleLow = serializedObject.FindProperty("stallAngleLow"); chord = serializedObject.FindProperty("chord"); flapFraction = serializedObject.FindProperty("flapFraction"); span = serializedObject.FindProperty("span"); autoAspectRatio = serializedObject.FindProperty("autoAspectRatio"); aspectRatio = serializedObject.FindProperty("aspectRatio"); config = target as AeroSurfaceConfig; }
private static void DrawSurface(Transform transform, AeroSurfaceConfig config, float flapAngle, bool isAtStall = false) { AircraftPhysicsDisplaySettings settings = AircraftPhysicsDisplaySettings.Instance; float mainChord = config.chord * (1 - config.flapFraction); float flapChord = config.chord * config.flapFraction; DrawRectangle(transform.position + transform.right * (0.25f * config.chord - 0.5f * mainChord), transform.rotation, config.span, mainChord, isAtStall ? settings.wingAtStallColor : settings.wingColor); if (config.flapFraction > 0) { DrawRectangle(transform.position + transform.right * (0.25f * config.chord - mainChord - 0.02f - 0.5f * flapChord * Mathf.Cos(flapAngle)) - transform.up * 0.5f * Mathf.Sin(flapAngle) * flapChord, transform.rotation * Quaternion.AngleAxis(flapAngle * Mathf.Rad2Deg, Vector3.forward), config.span, flapChord, isAtStall ? settings.flapAtStallColor : settings.flapColor); } }