private void Update() { if (nearestGameObject == null) { return; } if (Input.GetKeyDown(KeyCode.E)) { I_Interactable i_interactable = nearestGameObject.GetComponentInChildren <I_Interactable>(); if (i_interactable != null) { i_interactable.Use(); } } }
private void OnGUI() { Event ev = Event.current; if (ev.type == EventType.KeyDown) { if (ev.keyCode == KeyCode.E) { RaycastHit hit; if (Physics.Raycast(cameraTransform.position, cameraTransform.forward, out hit, maxPickupDistance)) { I_Interactable interactable = hit.transform.gameObject.GetComponent <I_Interactable>(); if (interactable != null) { interactable.onInteract(); } } } if (ev.keyCode == KeyCode.Escape) { Application.Quit(); } } }