38 lines
953 B
C#
38 lines
953 B
C#
using UnityEngine;
|
|
|
|
namespace NBF
|
|
{
|
|
public class BobberController : MonoBehaviour
|
|
{
|
|
[SerializeField] private Rigidbody _rbody;
|
|
|
|
[SerializeField] private ConfigurableJoint joint;
|
|
[SerializeField] private Buoyancy _buoyancy;
|
|
public Rigidbody rbody => _rbody;
|
|
|
|
public void SetJoint(Rigidbody rb)
|
|
{
|
|
joint = joint == null ? GetComponent<ConfigurableJoint>() : joint;
|
|
joint.connectedBody = rb;
|
|
}
|
|
|
|
public void SetJointDistance(float limit)
|
|
{
|
|
joint.linearLimit = new SoftJointLimit
|
|
{
|
|
limit = limit
|
|
};
|
|
}
|
|
|
|
public void SetDetectCollisionEnabled(bool en)
|
|
{
|
|
_rbody.detectCollisions = en;
|
|
_buoyancy.EnablePhysics(en);
|
|
}
|
|
|
|
public void SetVelocity(Vector3 velocity)
|
|
{
|
|
_rbody.linearVelocity = velocity;
|
|
}
|
|
}
|
|
} |