using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; public class PlayerRaycastOnUI : MonoBehaviour { public Camera playerCamera; public Canvas worldCanvas; public KeyCode interactKey = KeyCode.E; private GraphicRaycaster raycaster; private EventSystem eventSystem; void Start() { raycaster = worldCanvas.GetComponent(); eventSystem = EventSystem.current; } void Update() { // Створюємо PointerEventData на основі центру камери PointerEventData pointerData = new PointerEventData(eventSystem); pointerData.position = playerCamera.WorldToScreenPoint(playerCamera.transform.position + playerCamera.transform.forward * 2f); List results = new List(); raycaster.Raycast(pointerData, results); foreach (var result in results) { Button button = result.gameObject.GetComponent