using UnityEngine; namespace Item { public class ItemSelector : MonoBehaviour { public static ItemSelector instance; [SerializeField] private Camera cam; [SerializeField] private LayerMask mask; [SerializeField] private float range = 1; public InteractableItem Selected { get; private set; } // Start is called before the first frame update private void Start() { instance = this; } // Update is called once per frame private void Update() { } private void FixedUpdate() { var ray = cam.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit, range, mask)) { if (Selected != null || hit.transform.gameObject == null) Selected.Disable(); Selected = hit.transform.gameObject.GetComponent(); Selected.Enable(); print(Selected); } else { if (Selected != null) Selected.Disable(); } } } }