private void Update()
{
InteractionText.text = "";
RaycastHit hit;
var cam = UnityEngine.Camera.main.transform;
var forward = cam.forward;
var position = cam.position;
var ray = new Ray(position, forward);
if (Physics.Raycast(ray, out hit))
{
var interaction = hit.collider.GetComponent<IInteractable>();
if (interaction != null && Vector3.Distance(transform.position, hit.collider.transform.position) < InteractionDistance)
{
if (Input.GetKeyDown(KeyCode.E))
{
interaction.Interact();
}
else
{
InteractionText.text = "Press E to interact";
}
}
}
}
}