using RetroDev.Newton3D;
using UnityEngine;

public class ExampleNewton3D : MonoBehaviour
{
    private Rigidbody rb;

    private void Start()
    {
        // Assuming this script is attached to a GameObject with a Rigidbody component
        rb = GetComponent<Rigidbody>();

        // Example invocations for the utility functions

        Newton3D.ApplyForce(rb, Vector3.forward * 10f);
        Newton3D.SetVelocity(rb, new Vector3(2f, 0f, 0f));
        Newton3D.Jump(rb, 5f);
        Newton3D.SetConstraints(rb, false, true, false, false, false, false);
        Newton3D.ApplyTorque(rb, new Vector3(0f, 2f, 0f));
        Newton3D.ApplyLinearDamping(rb, 1f);
        Newton3D.ApplyAngularDamping(rb, 0.5f);
        Newton3D.ApplyForceAtPosition(rb, new Vector3(5f, 5f, 5f), new Vector3(1f, 1f, 1f));
        Newton3D.ApplyTorqueAtPosition(rb, new Vector3(3f, 0f, 0f), new Vector3(2f, 2f, 2f));
        Newton3D.ApplyLinearDrag(rb, 0.2f);
        Newton3D.ApplyAngularDrag(rb, 0.1f);
    }
}
