using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace BansheeEngine { /** @addtogroup Physics * @{ */ /// /// Joint that removes all but a single translational degree of freedom. Bodies are allowed to move along a single axis. /// public partial class SliderJoint : Joint { private SliderJoint(bool __dummy0) { } protected SliderJoint() { } /// Returns the current position of the slider. [ShowInInspector] public float Position { get { return Internal_getPosition(mCachedPtr); } } /// Returns the current speed of the slider. [ShowInInspector] public float Speed { get { return Internal_getSpeed(mCachedPtr); } } /// /// Determines a limit that constrains the movement of the joint to a specific minimum and maximum distance. You must /// enable the limit flag on the joint in order for this to be recognized. /// [ShowInInspector] public LimitLinearRange Limit { get { LimitLinearRange temp; Internal_getLimit(mCachedPtr, out temp); return temp; } set { Internal_setLimit(mCachedPtr, ref value); } } /// Enables or disables a flag that controls the joint's behaviour. public void SetFlag(SliderJointFlag flag, bool enabled) { Internal_setFlag(mCachedPtr, flag, enabled); } /// Checks is the specified flag enabled. public bool HasFlag(SliderJointFlag flag) { return Internal_hasFlag(mCachedPtr, flag); } [MethodImpl(MethodImplOptions.InternalCall)] private static extern float Internal_getPosition(IntPtr thisPtr); [MethodImpl(MethodImplOptions.InternalCall)] private static extern float Internal_getSpeed(IntPtr thisPtr); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_getLimit(IntPtr thisPtr, out LimitLinearRange __output); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_setLimit(IntPtr thisPtr, ref LimitLinearRange limit); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_setFlag(IntPtr thisPtr, SliderJointFlag flag, bool enabled); [MethodImpl(MethodImplOptions.InternalCall)] private static extern bool Internal_hasFlag(IntPtr thisPtr, SliderJointFlag flag); } /** @} */ }