namespace UnityEngine.XR.Interaction.Toolkit.Locomotion { /// /// Base for a scriptable object that can perform movement of an that is constrained /// by collision based on where the user's body is. /// public abstract class ScriptableConstrainedBodyManipulator : ScriptableObject, IConstrainedXRBodyManipulator { /// public XRMovableBody linkedBody { get; private set; } /// public abstract CollisionFlags lastCollisionFlags { get; } /// public abstract bool isGrounded { get; } /// public virtual void OnLinkedToBody(XRMovableBody body) { linkedBody = body; } /// public virtual void OnUnlinkedFromBody() { linkedBody = null; } /// public abstract CollisionFlags MoveBody(Vector3 motion); } }