DistanceJointInspector.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. using bs;
  4. namespace bs.Editor
  5. {
  6. /** @addtogroup Inspectors
  7. * @{
  8. */
  9. /// <summary>
  10. /// Renders an inspector for the <see cref="DistanceJoint"/> component.
  11. /// </summary>
  12. [CustomInspector(typeof(DistanceJoint))]
  13. internal class DistanceJointInspector : JointInspector
  14. {
  15. /// <inheritdoc/>
  16. protected internal override void Initialize()
  17. {
  18. DistanceJoint joint = (DistanceJoint) InspectedObject;
  19. BuildGUI(joint, true);
  20. drawer.AddDefault(joint, typeof(DistanceJoint));
  21. drawer.AddField("Enable minimum limit",
  22. () => joint.HasFlag(DistanceJointFlag.MinDistance),
  23. x => joint.SetFlag(DistanceJointFlag.MinDistance, x));
  24. drawer.AddConditional("MinDistance", () => joint.HasFlag(DistanceJointFlag.MinDistance));
  25. drawer.AddField("Enable maximum limit",
  26. () => joint.HasFlag(DistanceJointFlag.MaxDistance),
  27. x => joint.SetFlag(DistanceJointFlag.MaxDistance, x));
  28. drawer.AddConditional("MaxDistance", () => joint.HasFlag(DistanceJointFlag.MaxDistance));
  29. drawer.AddField("Enable spring",
  30. () => joint.HasFlag(DistanceJointFlag.Spring),
  31. x => joint.SetFlag(DistanceJointFlag.Spring, x));
  32. drawer.AddConditional("Spring", () => joint.HasFlag(DistanceJointFlag.Spring));
  33. }
  34. }
  35. /** @} */
  36. }