VR4Medical/ICI/Library/PackageCache/com.unity.xr.interaction.toolkit@42ef3600567b/Runtime/Locomotion/ScriptableConstrainedBodyManipulator.cs
2025-07-29 13:45:50 +03:00

34 lines
1013 B
C#

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