shopping-cart-sim/Assets/Scripts/PlayerGrabber.cs

44 lines
946 B
C#

using UnityEngine;
public class PlayerGrabber : MonoBehaviour
{
public float grabDistance = 2f;
private CartGrabAndHold heldCart;
void Update()
{
if (Input.GetKeyDown(KeyCode.E))
{
if (heldCart == null)
{
TryGrabCart();
}
else
{
heldCart.ReleaseCart();
heldCart = null;
}
}
if (heldCart != null)
{
heldCart.HoldCart();
}
}
void TryGrabCart()
{
Ray ray = new Ray(transform.position, transform.forward);
RaycastHit hit;
if (Physics.Raycast(ray, out hit, grabDistance))
{
CartGrabAndHold cart = hit.collider.GetComponent<CartGrabAndHold>();
if (cart != null)
{
heldCart = cart;
cart.GrabCart(transform);
}
}
}
}